17 typedef GenericFilter<
34 bool callbacks =
true):
47 std::unique_ptr<HTTPMessage> msg)
override;
49 void onBody(StreamID stream,
50 std::unique_ptr<folly::IOBuf> chain,
58 std::unique_ptr<HTTPHeaders> trailers)
override;
70 bool newStream =
false)
override;
77 std::unique_ptr<folly::IOBuf> debugData =
nullptr)
override;
103 std::unique_ptr<folly::IOBuf> authRequest)
override;
106 std::unique_ptr<folly::IOBuf> authenticator)
override;
127 void setCallback(HTTPCodec::Callback* callback)
override;
129 bool isBusy()
const override;
160 StreamID assocStream,
173 std::unique_ptr<folly::IOBuf> chain,
179 size_t length)
override;
182 StreamID stream)
override;
189 StreamID stream)
override;
199 std::unique_ptr<folly::IOBuf> debugData =
nullptr)
override;
221 std::unique_ptr<folly::IOBuf> chain)
override;
226 std::unique_ptr<folly::IOBuf> certData)
override;
241 PriorityQueue& queue,
size_t generateSettingsAck(folly::IOBufQueue &writeBuf) override
void onSettingsAck() override
HTTPSettings * getEgressSettings() override
size_t onIngress(const folly::IOBuf &buf) override
spdy::GoawayStatusCode statusCode
size_t generateCertificate(folly::IOBufQueue &writeBuf, uint16_t certId, std::unique_ptr< folly::IOBuf > certData) override
void onChunkComplete(StreamID stream) override
void onPriority(StreamID stream, const HTTPMessage::HTTPPriority &pri) override
bool supportsPushTransactions() const override
size_t generateTrailers(folly::IOBufQueue &writeBuf, StreamID stream, const HTTPHeaders &trailers) override
virtual void setCallback(Callback *callback)=0
HTTPCodec::StreamID getLastIncomingStreamID() const override
size_t addPriorityNodes(PriorityQueue &queue, folly::IOBufQueue &writeBuf, uint8_t maxLevel) override
FilterChain< HTTPCodec, HTTPCodec::Callback, PassThroughHTTPCodecFilter,&HTTPCodec::setCallback, true > HTTPCodecFilterChain
StreamID mapPriorityToDependency(uint8_t priority) const override
size_t generateRstStream(folly::IOBufQueue &writeBuf, StreamID stream, ErrorCode statusCode) override
bool isBusy() const override
size_t generateChunkTerminator(folly::IOBufQueue &writeBuf, StreamID stream) override
void enableDoubleGoawayDrain() override
bool supportsSessionFlowControl() const override
void generatePushPromise(folly::IOBufQueue &writeBuf, StreamID stream, const HTTPMessage &msg, StreamID assocStream, bool eom, HTTPHeaderSize *size) override
bool supportsStreamFlowControl() const override
void setParserPaused(bool paused) override
void onIngressEOF() override
size_t generatePriority(folly::IOBufQueue &writeBuf, StreamID stream, const HTTPMessage::HTTPPriority &pri) override
static http_parser_settings settings
uint32_t numOutgoingStreams() const override
bool isWaitingToDrain() const override
void onError(StreamID stream, const HTTPException &error, bool newStream=false) override
size_t generateSettings(folly::IOBufQueue &writeBuf) override
uint32_t numIncomingStreams() const override
size_t generateConnectionPreface(folly::IOBufQueue &writeBuf) override
void onFrameHeader(StreamID stream_id, uint8_t flags, uint64_t length, uint8_t type, uint16_t version=0) override
requires And< SemiMovable< VN >... > &&SemiMovable< E > auto error(E e)
HPACKTableInfo getHPACKTableInfo() const override
void onHeadersComplete(StreamID stream, std::unique_ptr< HTTPMessage > msg) override
size_t generateWindowUpdate(folly::IOBufQueue &writeBuf, StreamID stream, uint32_t delta) override
void onPingReply(uint64_t uniqueID) override
void setCallback(HTTPCodec::Callback *callback) override
size_t generateCertificateRequest(folly::IOBufQueue &writeBuf, uint16_t requestId, std::unique_ptr< folly::IOBuf > chain) override
constexpr auto size(C const &c) -> decltype(c.size())
void writeBuf(const Buf &buf, folly::io::Appender &out)
void generateHeader(folly::IOBufQueue &writeBuf, StreamID stream, const HTTPMessage &msg, bool eom, HTTPHeaderSize *size) override
StreamID createStream() override
CodecProtocol getProtocol() const override
void onAbort(StreamID stream, ErrorCode code) override
bool supportsParallelRequests() const override
size_t generateBody(folly::IOBufQueue &writeBuf, StreamID stream, std::unique_ptr< folly::IOBuf > chain, folly::Optional< uint8_t > padding, bool eom) override
size_t generateEOM(folly::IOBufQueue &writeBuf, StreamID stream) override
void onSettings(const SettingsList &settings) override
PassThroughHTTPCodecFilter(bool calls=true, bool callbacks=true)
const std::string & getUserAgent() const override
void onBody(StreamID stream, std::unique_ptr< folly::IOBuf > chain, uint16_t padding) override
int8_t mapDependencyToPriority(StreamID parent) const override
bool closeOnEgressComplete() const override
bool onIngressUpgradeMessage(const HTTPMessage &msg) override
uint32_t getDefaultWindowSize() const override
bool isReusable() const override
std::tuple< uint32_t, bool, uint8_t > HTTPPriority
void onMessageComplete(StreamID stream, bool upgrade) override
size_t generatePingReply(folly::IOBufQueue &writeBuf, uint64_t uniqueID) override
std::vector< HTTPSetting > SettingsList
void onGoaway(uint64_t lastGoodStreamID, ErrorCode code, std::unique_ptr< folly::IOBuf > debugData=nullptr) override
void onPushMessageBegin(StreamID stream, StreamID assocStream, HTTPMessage *msg) override
void onCertificateRequest(uint16_t requestId, std::unique_ptr< folly::IOBuf > authRequest) override
void onPingRequest(uint64_t uniqueID) override
size_t generatePingRequest(folly::IOBufQueue &writeBuf) override
void onChunkHeader(StreamID stream, size_t length) override
size_t generateGoaway(folly::IOBufQueue &writeBuf, StreamID lastStream, ErrorCode statusCode, std::unique_ptr< folly::IOBuf > debugData=nullptr) override
void onMessageBegin(StreamID stream, HTTPMessage *msg) override
void onTrailersComplete(StreamID stream, std::unique_ptr< HTTPHeaders > trailers) override
const HTTPSettings * getIngressSettings() const override
void generateExHeader(folly::IOBufQueue &writeBuf, StreamID stream, const HTTPMessage &msg, const HTTPCodec::ExAttributes &exAttributes, bool eom, HTTPHeaderSize *size) override
size_t generateChunkHeader(folly::IOBufQueue &writeBuf, StreamID stream, size_t length) override
void onExMessageBegin(StreamID stream, StreamID controlStream, bool unidirectional, HTTPMessage *msg) override
void setHeaderCodecStats(HeaderCodec::Stats *stats) override
GenericFilter< HTTPCodec, HTTPCodec::Callback,&HTTPCodec::setCallback, true > HTTPCodecFilter
void onCertificate(uint16_t certId, std::unique_ptr< folly::IOBuf > authenticator) override
bool onNativeProtocolUpgrade(StreamID stream, CodecProtocol protocol, const std::string &protocolString, HTTPMessage &msg) override
void onWindowUpdate(StreamID stream, uint32_t amount) override
void onGenerateFrameHeader(StreamID streamID, uint8_t type, uint64_t length, uint16_t version) override
folly::Function< void()> parent
TransportDirection getTransportDirection() const override