New port: www/proxygen : Collection of C++ HTTP libraries including easy way to use HTTP server

This commit is contained in:
Yuri Victorovich 2020-09-08 18:50:24 +00:00
parent 6abb573398
commit 12190e94d7
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=548042
7 changed files with 303 additions and 0 deletions

View File

@ -1397,6 +1397,7 @@
SUBDIR += privatebin
SUBDIR += privoxy
SUBDIR += protovis
SUBDIR += proxygen
SUBDIR += pserv
SUBDIR += publicfile
SUBDIR += punbb

38
www/proxygen/Makefile Normal file
View File

@ -0,0 +1,38 @@
# $FreeBSD$
PORTNAME= proxygen
DISTVERSIONPREFIX= v
DISTVERSION= 2020.09.07.00
CATEGORIES= www
MAINTAINER= yuri@FreeBSD.org
COMMENT= Collection of C++ HTTP libraries including easy way to use HTTP server
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= bash:shells/bash \
${LOCALBASE}/lib/libmvfst_server.a:net/mvfst \
gperf>0:devel/gperf
LIB_DEPENDS= libboost_iostreams.so:devel/boost-libs \
libdouble-conversion.so:devel/double-conversion \
libfizz.so:security/fizz \
libfmt.so:devel/libfmt \
libgflags.so:devel/gflags \
libglog.so:devel/glog \
libfolly.so:devel/folly \
libwangle.so:net/wangle \
libzstd.so:archivers/zstd
USES= cmake compiler:c++14-lang perl5 python:3.6+,build ssl
USE_GITHUB= yes
GH_ACCOUNT= facebook
USE_LDCONFIG= yes
CXXFLAGS+= -fPIC
CMAKE_ON= BUILD_SHARED_LIBS
BINARY_ALIAS= python3=${PYTHON_CMD}
.include <bsd.port.mk>

3
www/proxygen/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1599583458
SHA256 (facebook-proxygen-v2020.09.07.00_GH0.tar.gz) = 50ccb0b217212875bb00eea173e6e541bf51aaea3d1f2c72243801cee1e6a520
SIZE (facebook-proxygen-v2020.09.07.00_GH0.tar.gz) = 1047821

View File

@ -0,0 +1,13 @@
https://github.com/facebook/proxygen/issues/335
--- proxygen/httpserver/CMakeLists.txt.orig 2020-09-08 18:29:13 UTC
+++ proxygen/httpserver/CMakeLists.txt
@@ -5,7 +5,7 @@
# LICENSE file in the root directory of this source tree.
add_library(
- proxygenhttpserver STATIC
+ proxygenhttpserver
RequestHandlerAdaptor.cpp
SignalHandler.cpp
HTTPServerAcceptor.cpp

View File

@ -0,0 +1,13 @@
https://github.com/facebook/proxygen/issues/335
--- proxygen/lib/CMakeLists.txt.orig 2020-09-08 18:29:34 UTC
+++ proxygen/lib/CMakeLists.txt
@@ -92,7 +92,7 @@ if (BUILD_QUIC)
endif()
add_library(
- proxygen STATIC
+ proxygen
healthcheck/ServerHealthCheckerCallback.cpp
http/codec/CodecProtocol.cpp
http/codec/CodecUtil.cpp

8
www/proxygen/pkg-descr Normal file
View File

@ -0,0 +1,8 @@
Proxygen comprises the core C++ HTTP abstractions used at Facebook. Internally,
it is used as the basis for building many HTTP servers, proxies, and clients.
This release focuses on the common HTTP abstractions and our simple HTTPServer
framework. Future releases will provide simple client APIs as well. The
framework supports HTTP/1.1, SPDY/3, SPDY/3.1, HTTP/2, and HTTP/3. The goal is
to provide a simple, performant, and modern C++ HTTP library.
WWW: https://github.com/facebook/proxygen

227
www/proxygen/pkg-plist Normal file
View File

@ -0,0 +1,227 @@
bin/proxygen_curl
bin/proxygen_echo
bin/proxygen_proxy
bin/proxygen_push
bin/proxygen_static
include/proxygen/external/http_parser/http_parser.h
include/proxygen/httpserver/ExMessageHandler.h
include/proxygen/httpserver/Filters.h
include/proxygen/httpserver/HTTPServer.h
include/proxygen/httpserver/HTTPServerAcceptor.h
include/proxygen/httpserver/HTTPServerOptions.h
include/proxygen/httpserver/HTTPTransactionHandlerAdaptor.h
include/proxygen/httpserver/PushHandler.h
include/proxygen/httpserver/RequestHandler.h
include/proxygen/httpserver/RequestHandlerAdaptor.h
include/proxygen/httpserver/RequestHandlerFactory.h
include/proxygen/httpserver/ResponseBuilder.h
include/proxygen/httpserver/ResponseHandler.h
include/proxygen/httpserver/ScopedHTTPServer.h
include/proxygen/httpserver/SignalHandler.h
include/proxygen/httpserver/filters/CompressionFilter.h
include/proxygen/httpserver/filters/DirectResponseHandler.h
include/proxygen/httpserver/filters/RejectConnectFilter.h
include/proxygen/lib/healthcheck/PoolHealthChecker.h
include/proxygen/lib/healthcheck/ServerHealthCheckerCallback.h
include/proxygen/lib/http/HQConnector.h
include/proxygen/lib/http/HTTP3ErrorCode.h
include/proxygen/lib/http/HTTPCommonHeaders.cpp
include/proxygen/lib/http/HTTPCommonHeaders.h
include/proxygen/lib/http/HTTPConnector.h
include/proxygen/lib/http/HTTPConnectorWithFizz.h
include/proxygen/lib/http/HTTPConstants.h
include/proxygen/lib/http/HTTPException.h
include/proxygen/lib/http/HTTPHeaderSize.h
include/proxygen/lib/http/HTTPHeaders.h
include/proxygen/lib/http/HTTPMessage.h
include/proxygen/lib/http/HTTPMessageFilters.h
include/proxygen/lib/http/HTTPMethod.h
include/proxygen/lib/http/ProxyStatus.h
include/proxygen/lib/http/ProxygenErrorEnum.h
include/proxygen/lib/http/RFC2616.h
include/proxygen/lib/http/StatusTypeEnum.h
include/proxygen/lib/http/SynchronizedLruQuicPskCache.h
include/proxygen/lib/http/Window.h
include/proxygen/lib/http/codec/CodecDictionaries.h
include/proxygen/lib/http/codec/CodecProtocol.h
include/proxygen/lib/http/codec/CodecUtil.h
include/proxygen/lib/http/codec/DefaultHTTPCodecFactory.h
include/proxygen/lib/http/codec/ErrorCode.h
include/proxygen/lib/http/codec/FlowControlFilter.h
include/proxygen/lib/http/codec/HQControlCodec.h
include/proxygen/lib/http/codec/HQFramedCodec.h
include/proxygen/lib/http/codec/HQFramer.h
include/proxygen/lib/http/codec/HQStreamCodec.h
include/proxygen/lib/http/codec/HQUnidirectionalCodec.h
include/proxygen/lib/http/codec/HQUtils.h
include/proxygen/lib/http/codec/HTTP1xCodec.h
include/proxygen/lib/http/codec/HTTP2Codec.h
include/proxygen/lib/http/codec/HTTP2Constants.h
include/proxygen/lib/http/codec/HTTP2Framer.h
include/proxygen/lib/http/codec/HTTPChecks.h
include/proxygen/lib/http/codec/HTTPCodec.h
include/proxygen/lib/http/codec/HTTPCodecFactory.h
include/proxygen/lib/http/codec/HTTPCodecFilter.h
include/proxygen/lib/http/codec/HTTPCodecPrinter.h
include/proxygen/lib/http/codec/HTTPParallelCodec.h
include/proxygen/lib/http/codec/HTTPRequestVerifier.h
include/proxygen/lib/http/codec/HTTPSettings.h
include/proxygen/lib/http/codec/HeaderConstants.h
include/proxygen/lib/http/codec/HeaderDecodeInfo.h
include/proxygen/lib/http/codec/QPACKDecoderCodec.h
include/proxygen/lib/http/codec/QPACKEncoderCodec.h
include/proxygen/lib/http/codec/SPDYCodec.h
include/proxygen/lib/http/codec/SPDYConstants.h
include/proxygen/lib/http/codec/SPDYVersion.h
include/proxygen/lib/http/codec/SPDYVersionSettings.h
include/proxygen/lib/http/codec/SettingsId.h
include/proxygen/lib/http/codec/TransportDirection.h
include/proxygen/lib/http/codec/UnframedBodyOffsetTracker.h
include/proxygen/lib/http/codec/compress/CompressionInfo.h
include/proxygen/lib/http/codec/compress/GzipHeaderCodec.h
include/proxygen/lib/http/codec/compress/HPACKCodec.h
include/proxygen/lib/http/codec/compress/HPACKConstants.h
include/proxygen/lib/http/codec/compress/HPACKContext.h
include/proxygen/lib/http/codec/compress/HPACKDecodeBuffer.h
include/proxygen/lib/http/codec/compress/HPACKDecoder.h
include/proxygen/lib/http/codec/compress/HPACKDecoderBase.h
include/proxygen/lib/http/codec/compress/HPACKEncodeBuffer.h
include/proxygen/lib/http/codec/compress/HPACKEncoder.h
include/proxygen/lib/http/codec/compress/HPACKEncoderBase.h
include/proxygen/lib/http/codec/compress/HPACKHeader.h
include/proxygen/lib/http/codec/compress/HPACKHeaderName.h
include/proxygen/lib/http/codec/compress/HPACKQueue.h
include/proxygen/lib/http/codec/compress/HPACKStreamingCallback.h
include/proxygen/lib/http/codec/compress/Header.h
include/proxygen/lib/http/codec/compress/HeaderCodec.h
include/proxygen/lib/http/codec/compress/HeaderIndexingStrategy.h
include/proxygen/lib/http/codec/compress/HeaderPiece.h
include/proxygen/lib/http/codec/compress/HeaderTable.h
include/proxygen/lib/http/codec/compress/Huffman.h
include/proxygen/lib/http/codec/compress/Logging.h
include/proxygen/lib/http/codec/compress/NoPathIndexingStrategy.h
include/proxygen/lib/http/codec/compress/QPACKCodec.h
include/proxygen/lib/http/codec/compress/QPACKContext.h
include/proxygen/lib/http/codec/compress/QPACKDecoder.h
include/proxygen/lib/http/codec/compress/QPACKEncoder.h
include/proxygen/lib/http/codec/compress/QPACKHeaderTable.h
include/proxygen/lib/http/codec/compress/QPACKStaticHeaderTable.h
include/proxygen/lib/http/codec/compress/StaticHeaderTable.h
include/proxygen/lib/http/codec/compress/experimental/simulator/CompressionScheme.h
include/proxygen/lib/http/codec/compress/experimental/simulator/CompressionSimulator.h
include/proxygen/lib/http/codec/compress/experimental/simulator/CompressionTypes.h
include/proxygen/lib/http/codec/compress/experimental/simulator/CompressionUtils.h
include/proxygen/lib/http/codec/compress/experimental/simulator/HPACKScheme.h
include/proxygen/lib/http/codec/compress/experimental/simulator/QMINScheme.h
include/proxygen/lib/http/codec/compress/experimental/simulator/QPACKScheme.h
include/proxygen/lib/http/codec/compress/experimental/simulator/SimStreamingCallback.h
include/proxygen/lib/http/connpool/Endpoint.h
include/proxygen/lib/http/connpool/ServerIdleSessionController.h
include/proxygen/lib/http/connpool/SessionHolder.h
include/proxygen/lib/http/connpool/SessionPool.h
include/proxygen/lib/http/connpool/ThreadIdleSessionController.h
include/proxygen/lib/http/experimental/RFC1867.h
include/proxygen/lib/http/session/AckLatencyEvent.h
include/proxygen/lib/http/session/ByteEventTracker.h
include/proxygen/lib/http/session/ByteEvents.h
include/proxygen/lib/http/session/CodecErrorResponseHandler.h
include/proxygen/lib/http/session/HQByteEventTracker.h
include/proxygen/lib/http/session/HQDownstreamSession.h
include/proxygen/lib/http/session/HQSession.h
include/proxygen/lib/http/session/HQStreamBase.h
include/proxygen/lib/http/session/HQUnidirectionalCallbacks.h
include/proxygen/lib/http/session/HQUpstreamSession.h
include/proxygen/lib/http/session/HTTP2PriorityQueue.h
include/proxygen/lib/http/session/HTTPDefaultSessionCodecFactory.h
include/proxygen/lib/http/session/HTTPDirectResponseHandler.h
include/proxygen/lib/http/session/HTTPDownstreamSession.h
include/proxygen/lib/http/session/HTTPErrorPage.h
include/proxygen/lib/http/session/HTTPEvent.h
include/proxygen/lib/http/session/HTTPSession.h
include/proxygen/lib/http/session/HTTPSessionAcceptor.h
include/proxygen/lib/http/session/HTTPSessionBase.h
include/proxygen/lib/http/session/HTTPSessionController.h
include/proxygen/lib/http/session/HTTPSessionStats.h
include/proxygen/lib/http/session/HTTPTransaction.h
include/proxygen/lib/http/session/HTTPTransactionEgressSM.h
include/proxygen/lib/http/session/HTTPTransactionIngressSM.h
include/proxygen/lib/http/session/HTTPUpstreamSession.h
include/proxygen/lib/http/session/SecondaryAuthManager.h
include/proxygen/lib/http/session/SecondaryAuthManagerBase.h
include/proxygen/lib/http/session/ServerPushLifecycle.h
include/proxygen/lib/http/session/SimpleController.h
include/proxygen/lib/http/session/TTLBAStats.h
include/proxygen/lib/http/session/TransactionByteEvents.h
include/proxygen/lib/http/stats/ConnectionStats.h
include/proxygen/lib/http/stats/HeaderCodecStats.h
include/proxygen/lib/http/stats/ResponseCodeStatsMinute.h
include/proxygen/lib/http/stats/SPDYStats.h
include/proxygen/lib/http/stats/SPDYStatsFilter.h
include/proxygen/lib/http/stats/TLResponseCodeStats.h
include/proxygen/lib/http/stats/ThreadLocalHTTPSessionStats.h
include/proxygen/lib/http/structuredheaders/StructuredHeadersBuffer.h
include/proxygen/lib/http/structuredheaders/StructuredHeadersConstants.h
include/proxygen/lib/http/structuredheaders/StructuredHeadersDecoder.h
include/proxygen/lib/http/structuredheaders/StructuredHeadersEncoder.h
include/proxygen/lib/http/structuredheaders/StructuredHeadersUtilities.h
include/proxygen/lib/pools/generators/FileServerListGenerator.h
include/proxygen/lib/pools/generators/MemberGroupConfig.h
include/proxygen/lib/pools/generators/ServerListGenerator.h
include/proxygen/lib/services/AcceptorConfiguration.h
include/proxygen/lib/services/HTTPAcceptor.h
include/proxygen/lib/services/RequestWorkerThread.h
include/proxygen/lib/services/Service.h
include/proxygen/lib/services/ServiceConfiguration.h
include/proxygen/lib/services/ServiceWorker.h
include/proxygen/lib/services/WorkerThread.h
include/proxygen/lib/ssl/ProxygenSSL.h
include/proxygen/lib/ssl/ThreadLocalSSLContext.h
include/proxygen/lib/ssl/ThreadLocalSSLStats.h
include/proxygen/lib/stats/BaseStats.h
include/proxygen/lib/stats/PeriodicStats.h
include/proxygen/lib/stats/PeriodicStatsDataBase.h
include/proxygen/lib/stats/ResourceData.h
include/proxygen/lib/stats/ResourceStats.h
include/proxygen/lib/transport/PersistentFizzPskCache.h
include/proxygen/lib/transport/PersistentQuicPskCache.h
include/proxygen/lib/utils/AcceptorAddress.h
include/proxygen/lib/utils/AsyncTimeoutSet.h
include/proxygen/lib/utils/Base64.h
include/proxygen/lib/utils/CobHelper.h
include/proxygen/lib/utils/ConditionalGate.h
include/proxygen/lib/utils/ConsistentHash.h
include/proxygen/lib/utils/CryptUtil.h
include/proxygen/lib/utils/Exception.h
include/proxygen/lib/utils/Export.h
include/proxygen/lib/utils/FilterChain.h
include/proxygen/lib/utils/HTTPTime.h
include/proxygen/lib/utils/Logging.h
include/proxygen/lib/utils/NullTraceEventObserver.h
include/proxygen/lib/utils/ParseURL.h
include/proxygen/lib/utils/PerfectIndexMap.h
include/proxygen/lib/utils/RendezvousHash.h
include/proxygen/lib/utils/StateMachine.h
include/proxygen/lib/utils/StreamCompressor.h
include/proxygen/lib/utils/StreamDecompressor.h
include/proxygen/lib/utils/Time.h
include/proxygen/lib/utils/TraceEvent.h
include/proxygen/lib/utils/TraceEventContext.h
include/proxygen/lib/utils/TraceEventObserver.h
include/proxygen/lib/utils/TraceEventType.cpp
include/proxygen/lib/utils/TraceEventType.h
include/proxygen/lib/utils/TraceFieldType.cpp
include/proxygen/lib/utils/TraceFieldType.h
include/proxygen/lib/utils/URL.h
include/proxygen/lib/utils/UnionBasedStatic.h
include/proxygen/lib/utils/UtilInl.h
include/proxygen/lib/utils/WeakRefCountedPtr.h
include/proxygen/lib/utils/WheelTimerInstance.h
include/proxygen/lib/utils/ZlibStreamCompressor.h
include/proxygen/lib/utils/ZlibStreamDecompressor.h
include/proxygen/lib/utils/ZstdStreamCompressor.h
include/proxygen/lib/utils/ZstdStreamDecompressor.h
lib/cmake/proxygen/proxygen-config.cmake
lib/cmake/proxygen/proxygen-targets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/proxygen/proxygen-targets.cmake
lib/libproxygen.so
lib/libproxygenhttpserver.so