fetch.h 723 B

123456789101112131415161718192021222324
  1. #pragma once
  2. #include <library/cpp/uri/http_url.h>
  3. #include <library/cpp/http/io/headers.h>
  4. #include <library/cpp/http/io/stream.h>
  5. #include <util/datetime/base.h>
  6. #include <util/generic/string.h>
  7. #include <util/generic/ptr.h>
  8. namespace NYql {
  9. struct IFetchResult: public TThrRefBase {
  10. virtual THttpInput& GetStream() = 0;
  11. virtual unsigned GetRetCode() = 0;
  12. virtual THttpURL GetRedirectURL(const THttpURL& baseUrl) = 0;
  13. };
  14. using TFetchResultPtr = TIntrusivePtr<IFetchResult>;
  15. THttpURL ParseURL(const TStringBuf addr);
  16. TFetchResultPtr Fetch(const THttpURL& url, const THttpHeaders& additionalHeaders = {}, const TDuration& timeout = TDuration::Max(), size_t retries = 3, size_t redirects = 10);
  17. } // NYql