A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/group__HttpSession.html below:

NCBI C++ ToolKit: HttpSession

enum   CHttpHeaders::EHeaderName {
  CHttpHeaders::eCacheControl = 0 , CHttpHeaders::eContentLength , CHttpHeaders::eContentType , CHttpHeaders::eCookie ,
  CHttpHeaders::eDate , CHttpHeaders::eExpires , CHttpHeaders::eLocation , CHttpHeaders::eRange ,
  CHttpHeaders::eReferer , CHttpHeaders::eSetCookie , CHttpHeaders::eUserAgent , CHttpHeaders::eHost
}   Some standard HTTP headers. More...
  enum   CHttpFormData::EContentType { CHttpFormData::eFormUrlEncoded , CHttpFormData::eMultipartFormData }   Supported content types for POST requests. More...
  enum   CHttpSession_Base::ERequestMethod {
  CHttpSession_Base::eHead = eReqMethod_Head , CHttpSession_Base::eGet = eReqMethod_Get , CHttpSession_Base::ePost = eReqMethod_Post , CHttpSession_Base::ePut = eReqMethod_Put ,
  CHttpSession_Base::ePatch = eReqMethod_Patch , CHttpSession_Base::eDelete = eReqMethod_Delete
}   Supported request methods, proxy for EReqMethod. More...
  enum   CHttpSession_Base::EProtocol { CHttpSession_Base::eHTTP_10 , CHttpSession_Base::eHTTP_11 , CHttpSession_Base::eHTTP_2 }   HTTP protocol version. More...
  enum   CHttpSessionException::EErrCode {
  CHttpSessionException::eConnFailed , CHttpSessionException::eBadRequest , CHttpSessionException::eBadContentType , CHttpSessionException::eBadFormDataName ,
  CHttpSessionException::eBadFormData , CHttpSessionException::eBadStream , CHttpSessionException::eOther
}   unsigned short  SGetHttpDefaultRetries::operator() (void) const     CHttpHeaders::CHttpHeaders (void)   Create empty headers list. More...
    CHttpHeaders::CHeaderNameConverter::CHeaderNameConverter (const char *name)     CHttpHeaders::CHeaderNameConverter::CHeaderNameConverter (const string &name)     CHttpHeaders::CHeaderNameConverter::CHeaderNameConverter (CTempString name)     CHttpHeaders::CHeaderNameConverter::CHeaderNameConverter (CHttpHeaders::EHeaderName name)   CTempString  CHttpHeaders::CHeaderNameConverter::GetName (void)   bool  CHttpHeaders::HasValue (CHeaderNameConverter name) const   Check if there's at least one header with the name. More...
  size_t  CHttpHeaders::CountValues (CHeaderNameConverter name) const   Get number of values with the given name. More...
  const stringCHttpHeaders::GetValue (CHeaderNameConverter name) const   Get value of the header or empty string. More...
  const THeaderValuesCHttpHeaders::GetAllValues (CHeaderNameConverter name) const   Get all values with the given name. More...
  void  CHttpHeaders::SetValue (CHeaderNameConverter name, CTempString value)   Remove all existing values with the name, set the new value. More...
  void  CHttpHeaders::AddValue (CHeaderNameConverter name, CTempString value)   Add new value with the name (multiple values are allowed with the same name, the order is preserved). More...
  void  CHttpHeaders::Clear (CHeaderNameConverter name)   Remove all values with the given name. More...
  void  CHttpHeaders::ClearAll (void)   Remove all headers. More...
  void  CHttpHeaders::Assign (const CHttpHeaders &headers)   Clear any existing values and copy all headers from 'headers' to this object. More...
  void  CHttpHeaders::Merge (const CHttpHeaders &headers)   Add values from 'headers' to this object. More...
  virtual  CHttpHeaders::~CHttpHeaders (void)     CHttpHeaders::CHttpHeaders (const CHttpHeaders &)   CHttpHeadersCHttpHeaders::operator= (const CHttpHeaders &)   bool  CHttpHeaders::x_IsReservedHeader (CTempString name) const   void  CHttpHeaders::ParseHttpHeader (const CTempString &headers)   Parse headers from the string (usually provided by a stream callback). More...
  string  CHttpHeaders::GetHttpHeader (void) const   Get all headers as a single string as required by CConn_HttpStream. More...
  const THeadersCHttpHeaders::Get () const   static const char *  CHttpHeaders::GetHeaderName (EHeaderName name)   Get string representation of the given name. More...
    CHttpProxy::CHttpProxy (void)     CHttpProxy::CHttpProxy (string host, unsigned short port)     CHttpProxy::CHttpProxy (string host, unsigned short port, string user, string password)   bool  CHttpProxy::IsEmpty (void) const   const stringCHttpProxy::GetHost (void) const   unsigned short  CHttpProxy::GetPort (void) const   const stringCHttpProxy::GetUser (void) const   const stringCHttpProxy::GetPassword (void) const     CHttpParam::CHttpParam (void)   CHttpParamCHttpParam::SetHeaders (const CHttpHeaders &headers)   Add all HTTP headers to request. More...
  CHttpParamCHttpParam::SetHeader (CHttpHeaders::EHeaderName header, CTempString value)   Set or replace a single HTTP header,. More...
  CHttpParamCHttpParam::AddHeader (CHttpHeaders::EHeaderName header, CTempString value)   Add a single HTTP header,. More...
  const CHttpHeadersCHttpParam::GetHeaders (void) const   CHttpParamCHttpParam::SetTimeout (const CTimeout &timeout)   const CTimeoutCHttpParam::GetTimeout (void) const   CHttpParamCHttpParam::SetRetries (THttpRetries retries)   THttpRetries  CHttpParam::GetRetries (void) const   CHttpParamCHttpParam::SetCredentials (shared_ptr< CTlsCertCredentials > credentials)   shared_ptr< CTlsCertCredentialsCHttpParam::GetCredentials (void) const   CHttpParamCHttpParam::SetProxy (const CHttpProxy &proxy)   const CHttpProxyCHttpParam::GetProxy (void) const   const CTimeoutCHttpParam::GetDeadline () const   CHttpParamCHttpParam::SetDeadline (const CTimeout &deadline)   ESwitch  CHttpParam::GetRetryProcessing () const   CHttpParamCHttpParam::SetRetryProcessing (ESwitch on_off)   CHttpResponse  g_HttpGet (const CUrl &url, const CHttpParam &param)   Shortcut for GET request. More...
  CHttpResponse  g_HttpGet (const CUrl &url, const CTimeout &timeout=CTimeout(CTimeout::eDefault), THttpRetries retries=null)   Shortcut for GET request. More...
  CHttpResponse  g_HttpGet (const CUrl &url, const CHttpHeaders &headers, const CTimeout &timeout=CTimeout(CTimeout::eDefault), THttpRetries retries=null)   Shortcut for GET request with custom headers. More...
  CHttpResponse  g_HttpPost (const CUrl &url, CTempString data, const CHttpParam &param=CHttpParam())   Shortcut for POST request. More...
  CHttpResponse  g_HttpPost (const CUrl &url, CTempString data, CTempString content_type, const CTimeout &timeout=CTimeout(CTimeout::eDefault), THttpRetries retries=null)   Shortcut for POST request. More...
  CHttpResponse  g_HttpPost (const CUrl &url, const CHttpHeaders &headers, CTempString data, CTempString content_type=CTempString(), const CTimeout &timeout=CTimeout(CTimeout::eDefault), THttpRetries retries=null)   Shortcut for POST request with custom headers. More...
  CHttpResponse  g_HttpPut (const CUrl &url, CTempString data, const CHttpParam &param=CHttpParam())   Shortcut for PUT request. More...
  CHttpResponse  g_HttpPut (const CUrl &url, CTempString data, CTempString content_type, const CTimeout &timeout=CTimeout(CTimeout::eDefault), THttpRetries retries=null)   Shortcut for PUT request. More...
  CHttpResponse  g_HttpPut (const CUrl &url, const CHttpHeaders &headers, CTempString data, CTempString content_type=CTempString(), const CTimeout &timeout=CTimeout(CTimeout::eDefault), THttpRetries retries=null)   Shortcut for PUT request with custom headers. More...
  virtual string  CFormDataProvider_Base::GetContentType (void) const   Get content type. More...
  virtual string  CFormDataProvider_Base::GetFileName (void) const   Get optional filename to be shown in Content-Disposition header. More...
  virtual void  CFormDataProvider_Base::WriteData (CNcbiOstream &out) const =0   Write user data to the stream. More...
  virtual  CFormDataProvider_Base::~CFormDataProvider_Base (void)   void  CHttpFormData::AddEntry (CTempString entry_name, CTempString value, CTempString content_type=CTempString())   Add name=value pair. More...
  void  CHttpFormData::AddFile (CTempString entry_name, CTempString file_name, CTempString content_type=CTempString())   Add file entry. More...
  void  CHttpFormData::AddProvider (CTempString entry_name, CFormDataProvider_Base *provider)   Add custom data provider. More...
  bool  CHttpFormData::IsEmpty (void) const   Check if the form data is empty (no entries have been added). More...
  void  CHttpFormData::Clear (void)   Clear all form data, reset content type to the default eFormUrlEncoded. More...
  void  CHttpFormData::WriteFormData (CNcbiOstream &out) const   Write form data to the stream using the selected form content type. More...
  EContentType  CHttpFormData::GetContentType (void) const   Get current content type. More...
  void  CHttpFormData::SetContentType (EContentType content_type)   Set content type for the form data. More...
  virtual  CHttpFormData::~CHttpFormData (void)     CHttpFormData::CHttpFormData (void)     CHttpFormData::CHttpFormData (const CHttpFormData &)   CHttpFormDataCHttpFormData::operator= (const CHttpFormData &)   string  CHttpFormData::GetContentTypeStr (void) const   Get the form content type as a string. More...
  static string  CHttpFormData::CreateBoundary (void)   Generate a new random string to be used as multipart boundary. More...
  const CHttpHeadersCHttpResponse::Headers (void) const   Get incoming HTTP headers. More...
  CNcbiIstreamCHttpResponse::ContentStream (void) const   Get input stream. More...
  CNcbiIstreamCHttpResponse::ErrorStream (void) const   Get input stream containing error message (e.g. More...
  const CUrlCHttpResponse::GetLocation (void) const   Get actual resource location. More...
  int  CHttpResponse::GetStatusCode (void) const   Get response status code. More...
  const stringCHttpResponse::GetStatusText (void) const   Get response status text. More...
  bool  CHttpResponse::CanGetContentStream (void) const   Check if the requested content can be read from the content stream. More...
  virtual  CHttpResponse::~CHttpResponse (void)     CHttpResponse::CHttpResponse (CHttpSession_Base &session, const CUrl &url, shared_ptr< iostream > stream={})   void  CHttpResponse::x_Update (CHttpHeaders::THeaders headers, int status_code, string status_text)     CTlsCertCredentials::CTlsCertCredentials (const CTempStringEx &cert, const CTempStringEx &pkey)   Initialize credentials. More...
    CTlsCertCredentials::~CTlsCertCredentials (void)   NCBI_CRED  CTlsCertCredentials::GetNcbiCred (void) const   const stringCTlsCertCredentials::GetCert (void) const   const stringCTlsCertCredentials::GetPKey (void) const     CTlsCertCredentials::CTlsCertCredentials (const CTlsCertCredentials &)   CTlsCertCredentialsCTlsCertCredentials::operator= (const CTlsCertCredentials &)   CHttpHeadersCHttpRequest::Headers (void)   Get HTTP headers to be sent. More...
  CHttpFormDataCHttpRequest::FormData (void)   Get form data to be sent with POST request. More...
  CNcbiOstreamCHttpRequest::ContentStream (void)   Get output stream to write user data. More...
  CHttpResponse  CHttpRequest::Execute (void)   Send the request, initialize and return the response. More...
  const CTimeoutCHttpRequest::GetTimeout (void) const   Get current timeout. More...
  CHttpRequestCHttpRequest::SetTimeout (const CTimeout &timeout)   Set new timeout. More...
  CHttpRequestCHttpRequest::SetTimeout (unsigned int sec, unsigned int usec=0)   Set new timeout in seconds/microseconds. More...
  THttpRetries  CHttpRequest::GetRetries (void) const   Get number of retries. More...
  void  CHttpRequest::SetRetries (THttpRetries retries)   Set number of retries. More...
  const CTimeoutCHttpRequest::GetDeadline () const   Get current deadline for Execute(). More...
  CHttpRequestCHttpRequest::SetDeadline (const CTimeout &deadline)   Set new deadline for Execute(). More...
  ESwitch  CHttpRequest::GetRetryProcessing () const   Return whether Execute() will wait for actual response. More...
  CHttpRequestCHttpRequest::SetRetryProcessing (ESwitch on_off)   Set whether Execute() should wait for actual response. More...
  template<class TCallback > void  CHttpRequest::SetAdjustUrlCallback (TCallback callback)   Set callback to adjust URL after resolving service location. More...
  void  CHttpRequest::SetProxy (const CHttpProxy &proxy)   Set proxy. More...
  const CHttpProxyCHttpRequest::GetProxy (void) const   void  CHttpRequest::SetParam (const CHttpParam &param)   Set request parameters. More...
    CHttpRequest::CHttpRequest (CHttpSession_Base &session, const CUrl &url, EReqMethod method, const CHttpParam &param={})   virtual  CHttpRequest::CAdjustUrlCallback_Base::~CAdjustUrlCallback_Base (void)   virtual bool  CHttpRequest::CAdjustUrlCallback_Base::AdjustUrl (CUrl &url)=0     CHttpRequest::CAdjustUrlCallback< TCallback >::CAdjustUrlCallback (TCallback &callback)   virtual bool  CHttpRequest::CAdjustUrlCallback< TCallback >::AdjustUrl (CUrl &url)   void  CHttpRequest::x_InitConnection (bool use_form_data)   void  CHttpRequest::x_InitConnection2 (shared_ptr< iostream > stream)   bool  CHttpRequest::x_CanSendData (void) const   void  CHttpRequest::x_AddCookieHeader (const CUrl &url, bool initial)   void  CHttpRequest::x_AdjustHeaders (bool use_form_data)   void  CHttpRequest::x_UpdateResponse (CHttpHeaders::THeaders headers, int status_code, string status_text)   void  CHttpRequest::x_SetProxy (SConnNetInfo &net_info)   static EHTTP_HeaderParse  CHttpRequest::sx_ParseHeader (const char *headers, void *user_data, int server_error)   static int  CHttpRequest::sx_Adjust (SConnNetInfo *net_info, void *user_data, unsigned int failure_count)   CHttpRequest  CHttpSession_Base::NewRequest (const CUrl &url, ERequestMethod method=eGet, const CHttpParam &param={})   Initialize request. More...
  CHttpResponse  CHttpSession_Base::Get (const CUrl &url, const CTimeout &timeout=CTimeout(CTimeout::eDefault), THttpRetries retries=null)   Shortcut for GET requests. More...
  CHttpResponse  CHttpSession_Base::Post (const CUrl &url, CTempString data, CTempString content_type=CTempString(), const CTimeout &timeout=CTimeout(CTimeout::eDefault), THttpRetries retries=null)   Shortcut for POST requests. More...
  CHttpResponse  CHttpSession_Base::Put (const CUrl &url, CTempString data, CTempString content_type=CTempString(), const CTimeout &timeout=CTimeout(CTimeout::eDefault), THttpRetries retries=null)   Shortcut for PUT requests. More...
  const CHttpCookiesCHttpSession_Base::Cookies (void) const   Get all stored cookies. More...
  CHttpCookiesCHttpSession_Base::Cookies (void)   Get all stored cookies, non-const. More...
  EProtocol  CHttpSession_Base::GetProtocol (void) const   Get protocol version. More...
  void  CHttpSession_Base::SetProtocol (EProtocol protocol)   THTTP_Flags  CHttpSession_Base::GetHttpFlags (void) const   Get flags passed to CConn_HttpStream. More...
  void  CHttpSession_Base::SetHttpFlags (THTTP_Flags flags)   Set flags passed to CConn_HttpStream. More...
  void  CHttpSession_Base::SetCredentials (shared_ptr< CTlsCertCredentials > cred)   Set TLS credentials. More...
  shared_ptr< CTlsCertCredentialsCHttpSession_Base::GetCredentials (void) const     CHttpSession_Base::CHttpSession_Base (EProtocol protocol)   virtual  CHttpSession_Base::~CHttpSession_Base (void)   void  CHttpSession_Base::SetProxy (const CHttpProxy &proxy)   const CHttpProxyCHttpSession_Base::GetProxy (void) const   virtual void  CHttpSession_Base::x_StartRequest (EProtocol protocol, CHttpRequest &req, bool use_form_data)=0   virtual bool  CHttpSession_Base::x_Downgrade (CHttpResponse &resp, EProtocol &protocol) const =0   void  CHttpSession_Base::x_SetCookies (const CHttpHeaders::THeaderValues &cookies, const CUrl *url)   string  CHttpSession_Base::x_GetCookies (const CUrl &url) const     CHttpSession::CHttpSession ()   void  CHttpSession::x_StartRequest (EProtocol protocol, CHttpRequest &req, bool use_form_data) override   bool  CHttpSession::x_Downgrade (CHttpResponse &, EProtocol &) const override   virtual const char *  CHttpSessionException::GetErrCodeString (void) const override   Get error code interpreted as text. More...
    CHttpSessionException::NCBI_EXCEPTION_DEFAULT (CHttpSessionException, CException)   ◆ TEntries ◆ THeaders ◆ THeaderValues

List of header values (may be required for headers with multiple values like Cookie).

Definition at line 101 of file ncbi_http_session.hpp.

◆ THttpRetries ◆ TProviderEntries ◆ TProviders ◆ TValues ◆ EContentType

Supported content types for POST requests.

Enumerator eFormUrlEncoded 

'application/x-www-form-urlencoded', default

eMultipartFormData 

'multipart/form-data'

Definition at line 359 of file ncbi_http_session.hpp.

◆ EErrCode Enumerator eConnFailed 

Failed to open connection.

eBadRequest 

Error initializing or sending a request.

eBadContentType 

Content-type conflicts with the data.

eBadFormDataName 

Empty or bad name in form data.

eBadFormData 

Bad form data (e.g. unreadable file).

eBadStream 

Wrong stream used to read content or error.

eOther 

Definition at line 843 of file ncbi_http_session.hpp.

◆ EHeaderName

Some standard HTTP headers.

Enumerator eCacheControl  eContentLength  eContentType  eCookie  eDate  eExpires  eLocation  eRange  eReferer  eSetCookie  eUserAgent  eHost 

Definition at line 67 of file ncbi_http_session.hpp.

◆ EProtocol

HTTP protocol version.

Enumerator eHTTP_10 

HTTP/1.0.

eHTTP_11 

HTTP/1.1.

eHTTP_2 

HTTP/2.

Definition at line 764 of file ncbi_http_session.hpp.

◆ ERequestMethod

Supported request methods, proxy for EReqMethod.

See also
EReqMethod
Enumerator eHead  eGet  ePost  ePut  ePatch  eDelete 

Definition at line 703 of file ncbi_http_session.hpp.

◆ AddEntry()

Add name=value pair.

The data of this type can be sent using either eFormUrlEncoded or eMultipartFormData content types.

Parameters
entry_name Name of the form input. The name must not be empty, otherwise an exception is thrown. Multiple values with the same name are allowed. value Value for the input. If the form content type is eFormUrlEncoded, the value will be URL encoded properly. Otherwise the value is sent as-is. URL-encoded form data allows only one value per entry, otherwise exception will be thrown when sending the data. content_type Content type for the entry used if the form content type is eMultipartFormData. If not set, the protocol assumes 'text/plain' content type. Not used when sending eFormUrlEncoded content.

Definition at line 247 of file ncbi_http_session.cpp.

References CTempString::empty(), CHttpFormData::SFormData::m_ContentType, CHttpFormData::m_Entries, CHttpFormData::SFormData::m_Value, NCBI_THROW, and rapidjson::value.

◆ AddFile()

Add file entry.

The form content type is automatically set to eMultipartFormData and can not be changed later.

Parameters
entry_name Name of the form input responsible for selecting files. Multiple files can be added with the same entry name. The name must not be empty, otherwise an exception is thrown. file_name Path to the local file to be sent. The file must exist and be readable during the call to WriteFormData, otherwise an exception will be thrown. content_type Can be used to set content type for each file. If not set, the protocol assumes it to be 'application/octet-stream'.

Definition at line 311 of file ncbi_http_session.cpp.

References CHttpFormData::AddProvider(), and file_name.

◆ AddHeader() ◆ AddProvider() ◆ AddValue() ◆ AdjustUrl() [1/2]

template<class TCallback >

◆ AdjustUrl() [2/2] ◆ Assign() ◆ CAdjustUrlCallback() ◆ CanGetContentStream() bool CHttpResponse::CanGetContentStream ( void  ) const ◆ CHeaderNameConverter() [1/4] ◆ CHeaderNameConverter() [2/4] ◆ CHeaderNameConverter() [3/4] ◆ CHeaderNameConverter() [4/4] ◆ CHttpFormData() [1/2] ◆ CHttpFormData() [2/2] ◆ CHttpHeaders() [1/2] ◆ CHttpHeaders() [2/2] CHttpHeaders::CHttpHeaders ( void  ) inline ◆ CHttpParam() ◆ CHttpProxy() [1/3] ◆ CHttpProxy() [2/3] ◆ CHttpProxy() [3/3] ◆ CHttpRequest() ◆ CHttpResponse() ◆ CHttpSession() ◆ CHttpSession_Base() ◆ Clear() [1/2] ◆ Clear() [2/2] void CHttpFormData::Clear ( void  ) ◆ ClearAll() void CHttpHeaders::ClearAll ( void  ) ◆ ContentStream() [1/2]

Get output stream to write user data.

Headers are sent automatically when opening the stream. No changes can be made to the request after getting the stream until it is completed by calling Execute(). Throws an exception if the selected request method does not support sending data or if the existing form data is not empty.

Note
This method automatically adds cookies to the request headers.

Definition at line 742 of file ncbi_http_session.cpp.

References _ASSERT, CHttpSession_Base::GetProtocol(), CHttpRequest::m_Response, CHttpRequest::m_Session, CHttpRequest::m_Stream, NCBI_THROW, CHttpRequest::x_CanSendData(), and CHttpSession_Base::x_StartRequest().

Referenced by g_HttpPost(), g_HttpPut(), SFileTrackAPI::GetPath(), CHttpSession_Base::Post(), CHttpSession_Base::Put(), SFileTrackUpload::RenameFile(), and CHttpSessionApp::Run().

◆ ContentStream() [2/2]

Get input stream.

If the status code indicates that there's no content to be read, throw CHttpSessionException. The actual request body (e.g. error page) can be read using ErrorStream().

Definition at line 478 of file ncbi_http_session.cpp.

References _ASSERT, CHttpResponse::CanGetContentStream(), CHttpResponse::m_StatusCode, CHttpResponse::m_StatusText, CHttpResponse::m_Stream, NCBI_THROW, and NStr::NumericToString().

Referenced by CBiosampleChkApp::CreateBiosampleUpdateWebService(), CCompareWithBiosample::CreateBiosampleUpdateWebService(), SFileTrackAPI::GetPath(), CDoiLookup::GetPubFromCrossRef(), CGuiHttpSessionRequest::GetResponseStream(), CHttpSessionApp::PrintResponse(), s_GetCubbyUserName(), and s_UpdateLocalFile().

◆ Cookies() [1/2] ◆ Cookies() [2/2] ◆ CountValues() ◆ CreateBoundary() string CHttpFormData::CreateBoundary ( void  ) static ◆ CTlsCertCredentials() [1/2] ◆ CTlsCertCredentials() [2/2] ◆ ErrorStream() ◆ Execute()

Send the request, initialize and return the response.

The output content stream is flushed and closed by this call. After executing a request it can be modified (e.g. more headers and/or form data added) and re-executed.

Note
This method automatically adds cookies to the request headers.

Definition at line 706 of file ncbi_http_session.cpp.

References _ASSERT, CRef< C, Locker >::Empty(), CHttpSession_Base::GetProtocol(), CHttpResponse::Headers(), CHttpRequest::m_Deadline, CHttpRequest::m_FormData, CHttpRequest::m_Headers, CHttpRequest::m_Method, CHttpRequest::m_Response, CHttpRequest::m_RetryProcessing, CHttpRequest::m_Session, CHttpRequest::m_Stream, CHttpRequest::m_Url, NCBI_THROW, CRef< C, Locker >::Reset(), CHttpFormData::WriteFormData(), CHttpSession_Base::x_Downgrade(), and CHttpSession_Base::x_StartRequest().

Referenced by CGuiHttpSessionRequest::CGuiHttpSessionRequest(), g_HttpGet(), g_HttpPost(), g_HttpPut(), CHttpSession_Base::Get(), SFileTrackAPI::GetPath(), CHttpSession_Base::Post(), CHttpSession_Base::Put(), SFileTrackAPI::Remove(), SFileTrackUpload::RenameFile(), and CHttpSessionApp::Run().

◆ FormData() ◆ g_HttpGet() [1/3] ◆ g_HttpGet() [2/3] ◆ g_HttpGet() [3/3] ◆ g_HttpPost() [1/3]

Shortcut for POST request with custom headers.

Each request uses a separate session, no data like cookies is shared between multiple requests.

See also
CHttpSession::Post()

Definition at line 1351 of file ncbi_http_session.cpp.

References CHttpRequest::ContentStream(), data, CHttpHeaders::eContentType, CTempString::empty(), CHttpSession_Base::ePost, CHttpRequest::Execute(), CHttpHeaders::GetValue(), CHttpHeaders::HasValue(), CHttpRequest::Headers(), kContentType_FormUrlEnc, CHttpHeaders::Merge(), CHttpSession_Base::NewRequest(), CHttpRequest::SetRetries(), CHttpRequest::SetTimeout(), and CHttpHeaders::SetValue().

◆ g_HttpPost() [2/3]

Shortcut for POST request.

Each request uses a separate session, no data like cookies is shared between multiple requests.

See also
CHttpSession::Post()

Definition at line 1319 of file ncbi_http_session.cpp.

References CHttpRequest::ContentStream(), data, CHttpHeaders::eContentType, CHttpSession_Base::ePost, CHttpRequest::Execute(), CHttpParam::GetCredentials(), CHttpParam::GetHeaders(), CHttpHeaders::HasValue(), CHttpRequest::Headers(), kContentType_FormUrlEnc, CHttpSession_Base::NewRequest(), CHttpSession_Base::SetCredentials(), and CHttpHeaders::SetValue().

Referenced by CBiosampleChkApp::CreateBiosampleUpdateWebService(), CCompareWithBiosample::CreateBiosampleUpdateWebService(), g_HttpPost(), and CHttpSessionApp::Run().

◆ g_HttpPost() [3/3] ◆ g_HttpPut() [1/3]

Shortcut for PUT request with custom headers.

Each request uses a separate session, no data like cookies is shared between multiple requests.

See also
CHttpSession::Put()

Definition at line 1418 of file ncbi_http_session.cpp.

References CHttpRequest::ContentStream(), data, CHttpHeaders::eContentType, CTempString::empty(), CHttpSession_Base::ePut, CHttpRequest::Execute(), CHttpHeaders::GetValue(), CHttpHeaders::HasValue(), CHttpRequest::Headers(), kContentType_FormUrlEnc, CHttpHeaders::Merge(), CHttpSession_Base::NewRequest(), CHttpRequest::SetRetries(), CHttpRequest::SetTimeout(), and CHttpHeaders::SetValue().

◆ g_HttpPut() [2/3]

Shortcut for PUT request.

Each request uses a separate session, no data like cookies is shared between multiple requests.

See also
CHttpSession::Put()

Definition at line 1386 of file ncbi_http_session.cpp.

References CHttpRequest::ContentStream(), data, CHttpHeaders::eContentType, CHttpSession_Base::ePut, CHttpRequest::Execute(), CHttpParam::GetCredentials(), CHttpParam::GetHeaders(), CHttpHeaders::HasValue(), CHttpRequest::Headers(), kContentType_FormUrlEnc, CHttpSession_Base::NewRequest(), CHttpSession_Base::SetCredentials(), and CHttpHeaders::SetValue().

Referenced by g_HttpPut().

◆ g_HttpPut() [3/3] ◆ Get() [1/2] ◆ Get() [2/2] ◆ GetAllValues() ◆ GetCert() const string& CTlsCertCredentials::GetCert ( void  ) const inline ◆ GetContentType() [1/2] virtual string CFormDataProvider_Base::GetContentType ( void  ) const inlinevirtual ◆ GetContentType() [2/2] ◆ GetContentTypeStr() string CHttpFormData::GetContentTypeStr ( void  ) const ◆ GetCredentials() [1/2] ◆ GetCredentials() [2/2] ◆ GetDeadline() [1/2] ◆ GetDeadline() [2/2] ◆ GetErrCodeString() const char * CHttpSessionException::GetErrCodeString ( void  ) const overridevirtual ◆ GetFileName() virtual string CFormDataProvider_Base::GetFileName ( void  ) const inlinevirtual ◆ GetHeaderName() ◆ GetHeaders() ◆ GetHost() ◆ GetHttpFlags() THTTP_Flags CHttpSession_Base::GetHttpFlags ( void  ) const inline ◆ GetHttpHeader() string CHttpHeaders::GetHttpHeader ( void  ) const ◆ GetLocation() const CUrl& CHttpResponse::GetLocation ( void  ) const inline ◆ GetName() CTempString CHttpHeaders::CHeaderNameConverter::GetName ( void  ) inline ◆ GetNcbiCred() NCBI_CRED CTlsCertCredentials::GetNcbiCred ( void  ) const ◆ GetPassword() ◆ GetPKey() const string& CTlsCertCredentials::GetPKey ( void  ) const inline ◆ GetPort() unsigned short CHttpProxy::GetPort ( void  ) const inline ◆ GetProtocol() EProtocol CHttpSession_Base::GetProtocol ( void  ) const inline ◆ GetProxy() [1/3] ◆ GetProxy() [2/3] ◆ GetProxy() [3/3] ◆ GetRetries() [1/2] ◆ GetRetries() [2/2] ◆ GetRetryProcessing() [1/2] ESwitch CHttpParam::GetRetryProcessing ( ) const inline ◆ GetRetryProcessing() [2/2] ESwitch CHttpRequest::GetRetryProcessing ( ) const inline ◆ GetStatusCode() int CHttpResponse::GetStatusCode ( void  ) const inline

Get response status code.

Definition at line 495 of file ncbi_http_session.hpp.

References CHttpResponse::m_StatusCode.

Referenced by CBiosampleChkApp::CreateBiosampleUpdateWebService(), CCompareWithBiosample::CreateBiosampleUpdateWebService(), CDoiLookup::GetPubFromCrossRef(), CUrlUtils::GetRemoteFileSize(), CHttpSessionApp::PrintResponse(), CUsageReportJob::Run(), s_CheckConnection(), s_GetCubbyUserName(), s_UpdateLocalFile(), CHttpRequest::sx_Adjust(), CHttp2Session::x_Downgrade(), and CUsageReport::x_Send().

◆ GetStatusText() const string& CHttpResponse::GetStatusText ( void  ) const inline ◆ GetTimeout() [1/2] ◆ GetTimeout() [2/2] ◆ GetUser() ◆ GetValue() ◆ HasValue() ◆ Headers() [1/2] ◆ Headers() [2/2] ◆ IsEmpty() [1/2] bool CHttpProxy::IsEmpty ( void  ) const inline ◆ IsEmpty() [2/2] bool CHttpFormData::IsEmpty ( void  ) const ◆ Merge() ◆ NCBI_EXCEPTION_DEFAULT() ◆ NewRequest()

Initialize request.

This does not open connection to the server. A user can set headers/form-data before opening the stream and sending the actual request. The default request method is GET.

Definition at line 1140 of file ncbi_http_session.cpp.

References CHttpSession_Base::CHttpRequest.

Referenced by CGuiHttpSessionRequest::CGuiHttpSessionRequest(), g_HttpGet(), g_HttpPost(), g_HttpPut(), CHttpSession_Base::Get(), SFileTrackAPI::GetPath(), CHttpSession_Base::Post(), CHttpSession_Base::Put(), SFileTrackAPI::Remove(), SFileTrackUpload::RenameFile(), and CHttpSessionApp::Run().

◆ operator()() unsigned short SGetHttpDefaultRetries::operator() ( void  ) const ◆ operator=() [1/3] ◆ operator=() [2/3] ◆ operator=() [3/3] ◆ ParseHttpHeader() ◆ Post()

Shortcut for POST requests.

Parameters
url URL to send request to. data Data to be sent with the request. The data is sent as-is, any required encoding must be performed by the caller. content_type Content-type. If empty, application/x-www-form-urlencoded is used.
See also
NewRequest() CHttpRequest

Definition at line 1157 of file ncbi_http_session.cpp.

References CHttpRequest::ContentStream(), data, CHttpHeaders::eContentType, CTempString::empty(), CHttpSession_Base::ePost, CHttpRequest::Execute(), CHttpRequest::Headers(), kContentType_FormUrlEnc, CHttpSession_Base::NewRequest(), CHttpRequest::SetRetries(), CHttpRequest::SetTimeout(), and CHttpHeaders::SetValue().

◆ Put()

Shortcut for PUT requests.

Parameters
url URL to send request to. data Data to be sent with the request. The data is sent as-is, any required encoding must be performed by the caller. content_type Content-type. If empty, application/x-www-form-urlencoded is used.
See also
NewRequest() CHttpRequest

Definition at line 1177 of file ncbi_http_session.cpp.

References CHttpRequest::ContentStream(), data, CHttpHeaders::eContentType, CTempString::empty(), CHttpSession_Base::ePut, CHttpRequest::Execute(), CHttpRequest::Headers(), kContentType_FormUrlEnc, CHttpSession_Base::NewRequest(), CHttpRequest::SetRetries(), CHttpRequest::SetTimeout(), and CHttpHeaders::SetValue().

◆ SetAdjustUrlCallback()

template<class TCallback >

void CHttpRequest::SetAdjustUrlCallback ( TCallback  callback ) inline

Set callback to adjust URL after resolving service location.

The callback must take a CUrl reference and return bool: bool AdjustUrlCallback(CUrl& url); The callback should return true for the adjusted URL to be used to make the request, or false if the changes should be discarded.

Definition at line 619 of file ncbi_http_session.hpp.

References CHttpRequest::m_AdjustUrl.

◆ SetContentType() void CHttpFormData::SetContentType ( EContentType  content_type ) ◆ SetCredentials() [1/2] ◆ SetCredentials() [2/2] ◆ SetDeadline() [1/2] ◆ SetDeadline() [2/2] ◆ SetHeader() ◆ SetHeaders() ◆ SetHttpFlags() void CHttpSession_Base::SetHttpFlags ( THTTP_Flags  flags ) inline ◆ SetParam()

Set request parameters.

See also
CHttpParam

Definition at line 1113 of file ncbi_http_session.cpp.

References CHttpHeaders::eContentType, CHttpParam::GetDeadline(), CHttpParam::GetHeaders(), CHttpParam::GetProxy(), CHttpParam::GetRetries(), CHttpParam::GetRetryProcessing(), CHttpParam::GetTimeout(), CHttpHeaders::GetValue(), CHttpHeaders::HasValue(), CHttpRequest::Headers(), CHttpRequest::m_Deadline, CHttpRequest::m_Proxy, CHttpRequest::m_Retries, CHttpRequest::m_RetryProcessing, CHttpRequest::m_Timeout, CHttpHeaders::Merge(), and CHttpHeaders::SetValue().

Referenced by CHttpRequest::CHttpRequest().

◆ SetProtocol() void CHttpSession_Base::SetProtocol ( EProtocol  protocol ) inline ◆ SetProxy() [1/3] ◆ SetProxy() [2/3] ◆ SetProxy() [3/3] ◆ SetRetries() [1/2] ◆ SetRetries() [2/2] ◆ SetRetryProcessing() [1/2] ◆ SetRetryProcessing() [2/2] ◆ SetTimeout() [1/3] ◆ SetTimeout() [2/3] ◆ SetTimeout() [3/3] ◆ SetValue()

Remove all existing values with the name, set the new value.

Throw exception if the name is a reserved one and can not be set directly (NCBI-SID, NCBI-PHID). These values should be set through CRequestContext, the headers will be added by CConn_HttpStream automatically.

Definition at line 116 of file ncbi_http_session.cpp.

References _VERIFY, map_checker< Container >::clear(), CHttpHeaders::CHeaderNameConverter::GetName(), CHttpHeaders::m_Headers, rapidjson::value, and CHttpHeaders::x_IsReservedHeader().

Referenced by CBiosampleChkApp::CreateBiosampleUpdateWebService(), CCompareWithBiosample::CreateBiosampleUpdateWebService(), g_HttpPost(), g_HttpPut(), SFileTrackAPI::GetPath(), CHttpSession_Base::Post(), CHttpSession_Base::Put(), SFileTrackAPI::Remove(), SFileTrackUpload::RenameFile(), CHttpSessionApp::Run(), CHttpParam::SetHeader(), CHttpRequest::SetParam(), CHttpRequest::x_AddCookieHeader(), and CHttpRequest::x_AdjustHeaders().

◆ sx_Adjust() int CHttpRequest::sx_Adjust ( SConnNetInfonet_info, void *  user_data, unsigned int  failure_count  ) staticprivate

Definition at line 1007 of file ncbi_http_session.cpp.

References _ASSERT, CUrl::Adjust(), CUrl::ComposeUrl(), ConnNetInfo_OverrideUserHeader(), ConnNetInfo_ParseURL(), ConnNetInfo_URL(), CUrlArgs::eAmp_Char, CUrl::fArgs_Merge, CUrl::fPath_Append, CUrl::fScheme_Replace, CHttpHeaders::GetHttpHeader(), CHttpResponse::GetStatusCode(), CHttpRequest::m_AdjustUrl, CHttpRequest::m_Headers, SAdjustData::m_IsService, CHttpResponse::m_Location, SAdjustData::m_Request, CHttpRequest::m_Response, CHttpRequest::m_Url, make_c_unique(), NCBI_THROW, CUrl::SetUrl(), and CHttpRequest::x_AddCookieHeader().

Referenced by CHttpRequest::x_InitConnection().

◆ sx_ParseHeader()

Definition at line 951 of file ncbi_http_session.cpp.

References _ASSERT, eHTTP_HeaderContinue, eHTTP_HeaderError, CConn_HttpStream_Base::GetHTTPHeader(), CConn_HttpStream_Base::GetStatusCode(), CConn_HttpStream_Base::GetStatusText(), SAdjustData::m_Request, CHttpRequest::m_Response, CHttpRequest::m_Stream, s_ParseHttpHeader(), and CHttpResponse::x_Update().

Referenced by CHttpRequest::x_InitConnection().

◆ WriteData() virtual void CFormDataProvider_Base::WriteData ( CNcbiOstreamout ) const pure virtual ◆ WriteFormData() void CHttpFormData::WriteFormData ( CNcbiOstreamout ) const

Write form data to the stream using the selected form content type.

If the data is not valid (e.g. a file does not exist or can not be read), throw CHttpSessionException.

Definition at line 404 of file ncbi_http_session.cpp.

References _ASSERT, CHttpFormData::CreateBoundary(), CUrlArgs::eAmp_Char, CHttpFormData::eFormUrlEncoded, map_checker< Container >::empty(), CUrlArgs::GetQueryString(), HTTP_EOL, ITERATE, CHttpFormData::m_Boundary, CHttpFormData::m_ContentType, CHttpFormData::m_Entries, CHttpFormData::m_Providers, NCBI_THROW, out(), CUrlArgs::SetValue(), and x_WritePartHeader().

Referenced by CHttpRequest::Execute().

◆ x_AddCookieHeader() void CHttpRequest::x_AddCookieHeader ( const CUrlurl, bool  initial  ) private ◆ x_AdjustHeaders() void CHttpRequest::x_AdjustHeaders ( bool  use_form_data ) private ◆ x_CanSendData() bool CHttpRequest::x_CanSendData ( void  ) const private ◆ x_Downgrade() [1/2] inlineoverrideprivatevirtual ◆ x_Downgrade() [2/2] ◆ x_GetCookies() ◆ x_InitConnection() void CHttpRequest::x_InitConnection ( bool  use_form_data ) private

Definition at line 843 of file ncbi_http_session.cpp.

References SSERVICE_Extra::adjust, SSERVICE_Extra::cleanup, CUrl::ComposeUrl(), ConnNetInfo_Create(), ConnNetInfo_Destroy(), ConnNetInfo_OverrideUserHeader(), ConnNetInfo_SetTimeout(), SSERVICE_Extra::data, CUrlArgs::eAmp_Char, CHttpSession_Base::eHTTP_11, NStr::EqualNocase(), eURL_Http, eURL_Https, fHTTP_AdjustOnRedirect, SSERVICE_Extra::flags, fSERV_Http, g_CTimeoutToSTimeout(), CHttpSession_Base::GetHttpFlags(), CHttpHeaders::GetHttpHeader(), CHttpSession_Base::GetProtocol(), CUrl::GetScheme(), CUrl::GetService(), CTimeout::IsDefault(), CNullable< TValue, TNullToValue >::IsNull(), CUrl::IsService(), CHttpRequest::m_Credentials, CHttpHeaders::m_Headers, CHttpRequest::m_Headers, CHttpRequest::m_Method, CHttpRequest::m_Response, CHttpRequest::m_Retries, CHttpRequest::m_Session, CHttpResponse::m_Stream, CHttpRequest::m_Stream, CHttpRequest::m_Timeout, CHttpRequest::m_Url, NCBI_THROW, SSERVICE_Extra::parse_header, CRef< C, Locker >::Reset(), s_Cleanup(), s_ParseHttpHeader(), CHttpRequest::sx_Adjust(), CHttpRequest::sx_ParseHeader(), CHttpRequest::x_AdjustHeaders(), x_RetriesToMaxtry(), and CHttpRequest::x_SetProxy().

Referenced by CHttp2Session::x_StartRequest(), and CHttpSession::x_StartRequest().

◆ x_InitConnection2() void CHttpRequest::x_InitConnection2 ( shared_ptr< iostream >  stream ) private ◆ x_IsReservedHeader() ◆ x_SetCookies() ◆ x_SetProxy()

Definition at line 797 of file ncbi_http_session.cpp.

References CONN_HOST_LEN, CONN_PASS_LEN, CONN_USER_LEN, CHttpProxy::GetHost(), CHttpProxy::GetPassword(), CHttpProxy::GetPort(), CHttpRequest::GetProxy(), CHttpSession_Base::GetProxy(), CHttpProxy::GetUser(), SConnNetInfo::http_proxy_host, SConnNetInfo::http_proxy_pass, SConnNetInfo::http_proxy_port, SConnNetInfo::http_proxy_user, CHttpProxy::IsEmpty(), CHttpRequest::m_Session, NCBI_AS_STRING, and NCBI_THROW.

Referenced by CHttpRequest::x_InitConnection().

◆ x_StartRequest() [1/2] inlineoverrideprivatevirtual ◆ x_StartRequest() [2/2] ◆ x_Update()

Definition at line 510 of file ncbi_http_session.cpp.

References CHttpHeaders::eSetCookie, CHttpHeaders::GetAllValues(), CHttpHeaders::m_Headers, CHttpResponse::m_Headers, CHttpResponse::m_Location, CHttpResponse::m_Session, CHttpResponse::m_StatusCode, CHttpResponse::m_StatusText, map_checker< Container >::swap(), and CHttpSession_Base::x_SetCookies().

Referenced by CHttpRequest::sx_ParseHeader(), and CHttpRequest::x_UpdateResponse().

◆ x_UpdateResponse() ◆ ~CAdjustUrlCallback_Base() virtual CHttpRequest::CAdjustUrlCallback_Base::~CAdjustUrlCallback_Base ( void  ) inlinevirtual

Definition at line 640 of file ncbi_http_session.hpp.

◆ ~CFormDataProvider_Base() virtual CFormDataProvider_Base::~CFormDataProvider_Base ( void  ) inlinevirtual

Definition at line 350 of file ncbi_http_session.hpp.

◆ ~CHttpFormData() ◆ ~CHttpHeaders() ◆ ~CHttpResponse() ◆ ~CHttpSession_Base() virtual CHttpSession_Base::~CHttpSession_Base ( void  ) inlinevirtual

Definition at line 788 of file ncbi_http_session.hpp.

◆ ~CTlsCertCredentials() CTlsCertCredentials::~CTlsCertCredentials ( void  ) ◆ m_AdjustUrl ◆ m_Boundary string CHttpFormData::m_Boundary mutableprivate ◆ m_Callback

template<class TCallback >

◆ m_Cert string CTlsCertCredentials::m_Cert private ◆ m_ContentType [1/2] string CHttpFormData::SFormData::m_ContentType ◆ m_ContentType [2/2] ◆ m_Cookies ◆ m_Cred ◆ m_Credentials [1/3] ◆ m_Credentials [2/3] ◆ m_Credentials [3/3] ◆ m_Deadline [1/2] ◆ m_Deadline [2/2] ◆ m_Entries ◆ m_FormData ◆ m_Headers [1/4]

Definition at line 165 of file ncbi_http_session.hpp.

Referenced by CHttpHeaders::AddValue(), CHttpHeaders::Assign(), CHttpHeaders::Clear(), CHttpHeaders::ClearAll(), CHttpHeaders::CountValues(), CHttpHeaders::Get(), CHttpHeaders::GetAllValues(), CHttpHeaders::GetHttpHeader(), CHttpHeaders::GetValue(), CHttpHeaders::HasValue(), CHttpHeaders::Merge(), CHttpHeaders::ParseHttpHeader(), CHttpHeaders::SetValue(), CHttpRequest::x_InitConnection(), and CHttpResponse::x_Update().

◆ m_Headers [2/4] ◆ m_Headers [3/4] ◆ m_Headers [4/4] ◆ m_Host ◆ m_HttpFlags ◆ m_Location CUrl CHttpResponse::m_Location private ◆ m_Method ◆ m_Name ◆ m_Password ◆ m_PKey string CTlsCertCredentials::m_PKey private ◆ m_Port unsigned short CHttpProxy::m_Port private ◆ m_Protocol ◆ m_Providers ◆ m_Proxy [1/3] ◆ m_Proxy [2/3] ◆ m_Proxy [3/3] ◆ m_Response ◆ m_Retries [1/2] ◆ m_Retries [2/2] ◆ m_RetryProcessing [1/2] ESwitch CHttpParam::m_RetryProcessing private ◆ m_RetryProcessing [2/2] ESwitch CHttpRequest::m_RetryProcessing private ◆ m_Session [1/2] ◆ m_Session [2/2] ◆ m_StatusCode int CHttpResponse::m_StatusCode private ◆ m_StatusText string CHttpResponse::m_StatusText private ◆ m_Stream [1/2] shared_ptr<iostream> CHttpResponse::m_Stream private ◆ m_Stream [2/2] shared_ptr<iostream> CHttpRequest::m_Stream private ◆ m_Timeout [1/2] ◆ m_Timeout [2/2] ◆ m_Url [1/2] ◆ m_Url [2/2] ◆ m_User ◆ m_Value string CHttpFormData::SFormData::m_Value ◆ CHttp2Session ◆ CHttpRequest [1/4] ◆ CHttpRequest [2/4] ◆ CHttpRequest [3/4] ◆ CHttpRequest [4/4] ◆ CHttpResponse [1/2] ◆ CHttpResponse [2/2] ◆ CHttpSession ◆ CHttpSession_Base

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4