28 while(data.size() < 1000*1000) {
36 message.
isSecure() ?
"https" :
"http",
40 PushRequestHandler::PushRequestHandler(
PushStats* stats) : stats_(stats) {
41 if (gPushBody.empty()) {
48 std::unique_ptr<HTTPMessage> headers)
noexcept {
50 if (!headers->getHeaders().getSingleOrEmpty(
"X-PushIt").empty()) {
57 if(headers->getPath() ==
"/requestLargePush") {
58 LOG(INFO) <<
"sending large push ";
70 LOG(INFO) <<
"sending small push ";
bool readFile(int fd, Container &out, size_t num_bytes=std::numeric_limits< size_t >::max())
ResponseBuilder & status(uint16_t code, const std::string &message)
std::string generateUrl(const HTTPMessage &message, const char *path)
constexpr detail::Map< Move > move
virtual void recordRequest()
proxygen::ResponseHandler * downstreamPush_
ResponseBuilder & body(std::unique_ptr< folly::IOBuf > bodyIn)
void onRequest(std::unique_ptr< proxygen::HTTPMessage > headers) noexceptoverride
requires E e noexcept(noexcept(s.error(std::move(e))))
virtual uint64_t getRequestCount()
std::unique_ptr< folly::IOBuf > body_
void onError(proxygen::ProxygenError err) noexceptoverride
void onBody(std::unique_ptr< folly::IOBuf > body) noexceptoverride
ResponseBuilder & header(const std::string &headerIn, const T &value)
ResponseBuilder & promise(const std::string &url, const std::string &host)
ssize_t send(NetworkSocket s, const void *buf, size_t len, int flags)
HTTPHeaders & getHeaders()
static std::string createUrl(const folly::StringPiece scheme, const folly::StringPiece authority, const folly::StringPiece path, const folly::StringPiece query, const folly::StringPiece fragment)
const std::string kPushFileName("proxygen/httpserver/samples/push/pusheen.txt")
std::string createLargeBody()
void requestComplete() noexceptoverride
void onEOM() noexceptoverride
ResponseHandler * downstream_
static constexpr uint64_t data[1]
virtual ResponseHandler * newPushedResponse(PushHandler *pushHandler) noexcept=0
void onUpgrade(proxygen::UpgradeProtocol proto) noexceptoverride