http_ex.h 713 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include "http.h"
  3. #include <library/cpp/http/misc/httpreqdata.h>
  4. class THttpClientRequestExtension: public TClientRequest {
  5. public:
  6. bool Parse(char* req, TBaseServerRequestData& rd);
  7. bool ProcessHeaders(TBaseServerRequestData& rd, TBlob& postData);
  8. };
  9. template <class TRequestData>
  10. class THttpClientRequestExtImpl: public THttpClientRequestExtension {
  11. protected:
  12. bool Parse(char* req) {
  13. return THttpClientRequestExtension::Parse(req, RD);
  14. }
  15. bool ProcessHeaders() {
  16. return THttpClientRequestExtension::ProcessHeaders(RD, Buf);
  17. }
  18. protected:
  19. TRequestData RD;
  20. TBlob Buf;
  21. };
  22. using THttpClientRequestEx = THttpClientRequestExtImpl<TServerRequestData>;