NCBI C++ ToolKit
|
#include "ncbi_ansi_ext.h"
#include "ncbi_comm.h"
#include "ncbi_priv.h"
#include "ncbi_servicep.h"
#include <connect/ncbi_base64.h>
#include <connect/ncbi_http_connector.h>
#include <ctype.h>
#include <errno.h>
#include <stdlib.h>
Go to the source code of this file.
Go to the SVN repository for this file.
Classes | |
struct | SRetry |
struct | SHttpConnector |
struct | XBUF_PeekCBCtx |
Macros | |
#define | NCBI_USE_ERRCODE_X Connect_HTTP |
#define | HTTP_SOAK_READ_SIZE 16384 |
Typedefs | |
typedef unsigned | EBConnState |
typedef unsigned | EBCanConnect |
typedef unsigned | EBSwitch |
Enumerations | |
enum | EConnState { eCS_NotInitiated = 0 , eCS_WriteRequest = 1 , eCS_FlushRequest = 2 , eCS_ReadHeader = 3 , eCS_ReadBody = 4 , eCS_DoneBody = 5 , eCS_Discard = 7 , eCS_Eom = 0xF } |
enum | ECanConnect { fCC_None , fCC_Once , fCC_Unlimited } |
enum | EExtractMode { eEM_Drop , eEM_Wait , eEM_Read , eEM_Flush } |
enum | ERetry { eRetry_None = 0 , eRetry_Unused = 1 , eRetry_Redirect = 2 , eRetry_Redirect303 = 3 , eRetry_Authenticate = 4 , eRetry_ProxyAuthenticate = 5 } |
enum | EHTTP_Auth { eHTTP_AuthMissing = -3 , eHTTP_AuthUnsafe = -2 , eHTTP_AuthDone = -1 , eHTTP_AuthOK = 0 , eHTTP_AuthError = 1 , eHTTP_AuthIllegal = 3 , eHTTP_AuthNotSupp = 2 , eHTTP_AuthConnect = 4 } |
enum | EHTTP_Redirect { eHTTP_RedirectInvalid = -2 , eHTTP_RedirectUnsafe = -1 , eHTTP_RedirectOK = 0 , eHTTP_RedirectError = 1 , eHTTP_RedirectTunnel = 2 } |
Variables | |
static const char | kHttpHostTag [] = "Host: " |
static const STimeout | kZeroTimeout = {0, 0} |
static int | s_MessageIssued = 0 |
static FHTTP_NcbiMessageHook | s_MessageHook = 0 |
#define HTTP_SOAK_READ_SIZE 16384 |
Definition at line 49 of file ncbi_http_connector.c.
#define NCBI_USE_ERRCODE_X Connect_HTTP |
Definition at line 46 of file ncbi_http_connector.c.
typedef unsigned EBCanConnect |
Definition at line 80 of file ncbi_http_connector.c.
typedef unsigned EBConnState |
Definition at line 69 of file ncbi_http_connector.c.
typedef unsigned EBSwitch |
Definition at line 82 of file ncbi_http_connector.c.
enum ECanConnect |
Enumerator | |
---|---|
fCC_None | |
fCC_Once | |
fCC_Unlimited |
Definition at line 75 of file ncbi_http_connector.c.
enum EConnState |
Enumerator | |
---|---|
eCS_NotInitiated | |
eCS_WriteRequest | |
eCS_FlushRequest | |
eCS_ReadHeader | |
eCS_ReadBody | |
eCS_DoneBody | |
eCS_Discard | |
eCS_Eom |
Definition at line 59 of file ncbi_http_connector.c.
enum EExtractMode |
Enumerator | |
---|---|
eEM_Drop | |
eEM_Wait | |
eEM_Read | |
eEM_Flush |
Definition at line 84 of file ncbi_http_connector.c.
enum EHTTP_Auth |
Enumerator | |
---|---|
eHTTP_AuthMissing | |
eHTTP_AuthUnsafe | |
eHTTP_AuthDone | |
eHTTP_AuthOK | |
eHTTP_AuthError | |
eHTTP_AuthIllegal | |
eHTTP_AuthNotSupp | |
eHTTP_AuthConnect |
Definition at line 188 of file ncbi_http_connector.c.
enum EHTTP_Redirect |
Enumerator | |
---|---|
eHTTP_RedirectInvalid | |
eHTTP_RedirectUnsafe | |
eHTTP_RedirectOK | |
eHTTP_RedirectError | |
eHTTP_RedirectTunnel |
Definition at line 461 of file ncbi_http_connector.c.
enum ERetry |
Enumerator | |
---|---|
eRetry_None | |
eRetry_Unused | |
eRetry_Redirect | |
eRetry_Redirect303 | |
eRetry_Authenticate | |
eRetry_ProxyAuthenticate |
Definition at line 92 of file ncbi_http_connector.c.
|
static |
Definition at line 531 of file ncbi_http_connector.c.
References SHttpConnector::adjust, assert, SHttpConnector::can_connect, ConnNetInfo_URL(), CORE_LOGF_X, SRetry::data, eEM_Drop, eHTTP_AuthConnect, eHTTP_AuthDone, eHTTP_AuthError, eHTTP_AuthIllegal, eHTTP_AuthMissing, eHTTP_AuthNotSupp, eHTTP_AuthUnsafe, eHTTP_RedirectError, eHTTP_RedirectInvalid, eHTTP_RedirectTunnel, eHTTP_RedirectUnsafe, eIO_InvalidArg, eIO_NotSupported, eIO_Success, eIO_Unknown, eLOG_Critical, eLOG_Error, eLOG_Trace, SHttpConnector::entity, eReqMethod_Connect, eRetry_Authenticate, eRetry_ProxyAuthenticate, eRetry_Redirect, eRetry_Redirect303, eURL_Https, fCC_None, free(), SHttpConnector::major_fault, SConnNetInfo::max_try, SHttpConnector::minor_fault, SRetry::mode, SHttpConnector::net_info, SConnNetInfo::req_method, SHttpConnector::retry, SHttpConnector::reused, s_CallAdjust(), SConnNetInfo::scheme, SHttpConnector::sock, strncasecmp, x_Authenticate(), and x_Redirect().
Referenced by s_Connect(), s_ConnectAndSend(), and s_PreRead().
|
static |
Definition at line 340 of file ncbi_http_connector.c.
References SHttpConnector::adjust, close(), ConnNetInfo_CloneInternal(), ConnNetInfo_Destroy(), eURL_Https, free(), SConnNetInfo::host, SConnNetInfo::http_proxy_host, SConnNetInfo::http_proxy_port, SHttpConnector::net_info, SConnNetInfo::port, SConnNetInfo::scheme, SHttpConnector::sock, SOCK_Destroy, strcasecmp, SHttpConnector::user_data, SHttpConnector::vhost, x_SamePort(), x_SameProxyHost(), and x_SameScheme().
Referenced by s_Adjust(), s_Connect(), and x_Redirect().
|
static |
Definition at line 827 of file ncbi_http_connector.c.
References SHttpConnector::adjust, assert, BUF_Peek(), BUF_Size(), SHttpConnector::can_connect, SHttpConnector::chunked, CONN_PORT_HTTPS, SHttpConnector::conn_state, ConnNetInfo_Clone(), ConnNetInfo_Destroy(), ConnNetInfo_ExtendUserHeader(), ConnNetInfo_GetArgs(), ConnNetInfo_Log(), ConnNetInfo_OverrideUserHeader(), ConnNetInfo_SetUserHeader(), ConnNetInfo_URL(), CORE_GetLOG(), CORE_LOCK_READ, CORE_LOGF_ERRNO_X, CORE_LOGF_X, CORE_UNLOCK, SConnNetInfo::credentials, SConnNetInfo::debug_printout, eCS_Eom, eCS_NotInitiated, eCS_WriteRequest, eDebugPrintout_Data, eEM_Read, eIO_Success, eIO_Unknown, eLOG_Critical, eLOG_Error, eLOG_Note, eLOG_Trace, SHttpConnector::entity, eReqMethod_Any, eReqMethod_Connect, eReqMethod_Get, eReqMethod_Head, eReqMethod_Post, eReqMethod_v1, eRetry_Authenticate, eRetry_ProxyAuthenticate, eURL_Http, eURL_Https, fCC_None, fCC_Once, fHCC_UrlEncodeArgs, fHTTP_NoAutomagicSID, fHTTP_NoUpread, SConnNetInfo::firewall, SHttpConnector::flags, flags, fProxy_Http, fProxy_Https, free(), fSOCK_KeepAlive, fSOCK_LogDefault, fSOCK_LogOn, fSOCK_ReadOnWrite, fSOCK_Secure, SConnNetInfo::host, SHttpConnector::http_code, HTTP_CreateTunnelEx(), SConnNetInfo::http_proxy_host, SConnNetInfo::http_proxy_mask, SConnNetInfo::http_proxy_port, SConnNetInfo::http_push_auth, SConnNetInfo::http_user_header, SConnNetInfo::http_version, if(), len, malloc(), SConnNetInfo::max_try, NCBI_CXX_TOOLKIT, SHttpConnector::net_info, SHttpConnector::o_timeout, SConnNetInfo::pass, SConnNetInfo::path, SConnNetInfo::port, SConnNetInfo::req_method, SHttpConnector::retry, SHttpConnector::reused, s_Adjust(), s_CallAdjust(), s_TunnelAdjust(), SConnNetInfo::scheme, ncbi::grid::netcache::search::fields::size, SHttpConnector::sock, SOCK_Abort(), SOCK_Destroy, SOCK_IsSecure(), strdup, strndup, URL_ConnectEx(), URL_Encode(), SConnNetInfo::user, SHttpConnector::vhost, SHttpConnector::w_buf, SHttpConnector::w_len, x_Authenticate(), x_IsWriteThru(), x_SetHttpHostTag(), and x_SetRequestIDs().
Referenced by s_ConnectAndSend().
|
static |
Definition at line 1172 of file ncbi_http_connector.c.
References assert, BUF_Erase(), BUF_PeekAtCB(), BUF_Size(), SHttpConnector::chunked, SHttpConnector::conn_state, ConnNetInfo_URL(), CORE_LOGF_ERRNO_X, ctx, eCS_Eom, eCS_FlushRequest, eCS_NotInitiated, eCS_ReadHeader, eCS_WriteRequest, eEM_Wait, eIO_Success, eIO_Timeout, eIO_Write, eIO_WritePlain, eLOG_Error, eLOG_Trace, SHttpConnector::expected, free(), SHttpConnector::http, SConnNetInfo::http_version, IO_StatusStr(), SHttpConnector::keepalive, SHttpConnector::net_info, SHttpConnector::received, SHttpConnector::reused, s_Adjust(), s_Connect(), s_DropConnection(), STimeoutTag::sec, SHttpConnector::sock, SOCK_SetTimeout(), SOCK_Write(), STimeoutTag::usec, SHttpConnector::w_buf, SHttpConnector::w_len, SHttpConnector::w_timeout, x_IsWriteThru(), and x_WriteBuf().
Referenced by s_PreRead(), s_VT_Flush(), s_VT_Wait(), and s_VT_Write().
|
static |
Definition at line 2918 of file ncbi_http_connector.c.
References assert, SHttpConnector::cleanup, cleanup(), SConnectorTag::destroy, eDefault, eIO_Success, flags, SConnectorTag::handle, malloc(), SConnectorTag::meta, SConnectorTag::next, SHttpConnector::parse_header, s_CreateHttpConnector(), s_Destroy(), s_DestroyHttpConnector(), s_Setup(), SConnectorTag::setup, and SHttpConnector::unsafe_redir.
Referenced by HTTP_CreateConnector(), and HTTP_CreateConnectorEx().
|
static |
Definition at line 2810 of file ncbi_http_connector.c.
References SHttpConnector::adjust, SHttpConnector::can_connect, SHttpConnector::cleanup, ConnNetInfo_Clone(), ConnNetInfo_CreateInternal(), ConnNetInfo_DeleteUserHeader(), ConnNetInfo_Destroy(), ConnNetInfo_OverrideUserHeader(), ConnNetInfo_SetFrag(), eDefault, eIO_InvalidArg, eIO_Success, eIO_Unknown, eOff, eOn, eReqMethod_Connect, eReqMethod_v1, SHttpConnector::error_header, eURL_Http, eURL_Https, eURL_Unspec, fCC_None, fHTTP_NoAutomagicSID, fHTTP_NoAutoRetry, fHTTP_PushAuth, fHTTP_UnsafeRedirects, SHttpConnector::flags, flags, fProxy_Http, free(), SHttpConnector::http, SConnNetInfo::http_proxy_host, SConnNetInfo::http_proxy_mask, SConnNetInfo::http_proxy_port, SConnNetInfo::http_push_auth, SConnNetInfo::http_referer, SConnNetInfo::http_version, if(), kDefaultTimeout, malloc(), SConnNetInfo::max_try, SHttpConnector::net_info, SHttpConnector::o_timeout, SHttpConnector::parse_header, SConnNetInfo::path, SHttpConnector::r_buf, SConnNetInfo::req_method, SHttpConnector::reserved, s_OpenHttpConnector(), SConnNetInfo::scheme, SHttpConnector::sock, SConnNetInfo::timeout, SHttpConnector::unsafe_redir, SHttpConnector::user_data, SHttpConnector::vhost, SHttpConnector::w_buf, SHttpConnector::w_len, SHttpConnector::w_timeout, and x_FixupUserHeader().
Referenced by HTTP_CreateTunnelEx(), and s_CreateConnector().
Definition at line 2730 of file ncbi_http_connector.c.
References free(), SConnectorTag::handle, and s_DestroyHttpConnector().
Referenced by s_CreateConnector().
|
static |
Definition at line 2393 of file ncbi_http_connector.c.
References assert, BUF_Destroy(), SHttpConnector::cleanup, ConnNetInfo_Destroy(), free(), SHttpConnector::http, SHttpConnector::net_info, SHttpConnector::r_buf, SHttpConnector::sock, SHttpConnector::user_data, SHttpConnector::vhost, and SHttpConnector::w_buf.
Referenced by HTTP_CreateTunnelEx(), s_CreateConnector(), and s_Destroy().
|
static |
Definition at line 2317 of file ncbi_http_connector.c.
References assert, BUF_AppendEx(), BUF_Erase(), BUF_Write(), SHttpConnector::can_connect, SHttpConnector::conn_state, eCS_Eom, eEM_Drop, eEM_Wait, eIO_Success, eIO_Unknown, fCC_Once, free(), SHttpConnector::http, HTTP_SOAK_READ_SIZE, SHttpConnector::keepalive, malloc(), SHttpConnector::r_buf, s_DropConnection(), s_PreRead(), s_Read(), and SHttpConnector::sock.
Referenced by s_VT_Close(), and s_VT_Write().
|
static |
Definition at line 1133 of file ncbi_http_connector.c.
References assert, SHttpConnector::conn_state, eCS_Discard, eCS_ReadBody, eIO_Close, kZeroTimeout, SHttpConnector::retry, SHttpConnector::sock, SOCK_Abort(), SOCK_Close(), and SOCK_SetTimeout().
Referenced by HTTP_CreateTunnelEx(), s_ConnectAndSend(), s_Disconnect(), and s_PreRead().
|
static |
Definition at line 2363 of file ncbi_http_connector.c.
References assert, SHttpConnector::auth_done, SHttpConnector::can_connect, SHttpConnector::conn_state, eCS_NotInitiated, fCC_Once, fCC_Unlimited, fHTTP_AutoReconnect, SHttpConnector::flags, kInfiniteTimeout, SHttpConnector::major_fault, SHttpConnector::minor_fault, SHttpConnector::o_timeout, SHttpConnector::oo_timeout, SHttpConnector::proxy_auth_done, SHttpConnector::retry, SHttpConnector::sock, SHttpConnector::w_timeout, and SHttpConnector::ww_timeout.
Referenced by s_CreateHttpConnector(), and s_VT_Open().
|
static |
Definition at line 2093 of file ncbi_http_connector.c.
References assert, BUF_Erase(), BUF_Size(), BUF_Splice(), BUF_Write(), SHttpConnector::chunked, SHttpConnector::conn_state, SRetry::data, eCS_DoneBody, eCS_FlushRequest, eCS_NotInitiated, eCS_ReadBody, eCS_ReadHeader, eCS_WriteRequest, eEM_Flush, eEM_Wait, eIO_Read, eIO_Success, eIO_Timeout, eIO_Unknown, free(), SHttpConnector::http, SRetry::mode, SHttpConnector::r_buf, s_Adjust(), s_ConnectAndSend(), s_DropConnection(), s_ReadHeader(), STimeoutTag::sec, SHttpConnector::sock, SOCK_SetTimeout(), STimeoutTag::usec, SHttpConnector::w_buf, SHttpConnector::w_len, and x_IsWriteThru().
Referenced by HTTP_CreateTunnelEx(), s_Disconnect(), s_VT_Close(), s_VT_Flush(), s_VT_Read(), and s_VT_Wait().
|
static |
Definition at line 2187 of file ncbi_http_connector.c.
References assert, buf, SHttpConnector::chunked, SHttpConnector::conn_state, ConnNetInfo_URL(), CORE_LOGF_X, eCS_Discard, eCS_DoneBody, eCS_Eom, eCS_ReadBody, eIO_Read, eIO_ReadPeek, eIO_ReadPersist, eIO_ReadPlain, eIO_Success, eIO_Unknown, eLOG_Error, eLOG_Warning, eReqMethod_Connect, eReqMethod_Head, SHttpConnector::expected, fHCC_UrlDecodeInput, SHttpConnector::flags, free(), SHttpConnector::http_code, SConnNetInfo::http_version, IO_StatusStr(), SHttpConnector::keepalive, malloc(), NCBI_BIGCOUNT_FORMAT_SPEC, SHttpConnector::net_info, SHttpConnector::received, SConnNetInfo::req_method, s_ReadData(), ncbi::grid::netcache::search::fields::size, SHttpConnector::sock, SOCK_Read(), SOCK_Status(), URL_DecodeEx(), x_Close(), and x_ReadChunkTail().
Referenced by s_Disconnect(), and s_VT_Read().
|
static |
Definition at line 1459 of file ncbi_http_connector.c.
References assert, buf, BUF_AppendEx(), SHttpConnector::chunked, SHttpConnector::conn_state, ConnNetInfo_URL(), CORE_LOGF_ERRNO_X, eCS_DoneBody, eCS_Eom, eCS_ReadBody, eIO_Success, eIO_Unknown, eLOG_Error, SHttpConnector::expected, free(), HTTP_SOAK_READ_SIZE, malloc(), SHttpConnector::net_info, SHttpConnector::received, ncbi::grid::netcache::search::fields::size, SHttpConnector::sock, SOCK_Read(), x_ReadChunkHead(), and x_ReadChunkTail().
Referenced by s_Read(), and s_ReadHeader().
|
static |
Definition at line 1551 of file ncbi_http_connector.c.
References SHttpConnector::adjust, assert, BUF_AppendEx(), BUF_Erase(), BUF_Peek(), BUF_Read(), BUF_Size(), SHttpConnector::chunked, SHttpConnector::conn_state, ConnNetInfo_OverrideUserHeader(), ConnNetInfo_URL(), CORE_DATAF_X, CORE_LOGF_ERRNO_X, CORE_LOGF_X, SRetry::data, SConnNetInfo::debug_printout, eCS_ReadBody, eCS_ReadHeader, eDebugPrintout_Some, eEM_Wait, eHTTP_HeaderComplete, eHTTP_HeaderContinue, eHTTP_HeaderError, eHTTP_HeaderSuccess, eIO_Read, eIO_ReadPlain, eIO_Success, eIO_Timeout, eIO_Unknown, eLOG_Critical, eLOG_Error, eLOG_Note, eLOG_Trace, eLOG_Warning, eReqMethod_Connect, eReqMethod_Head, eRetry_Authenticate, eRetry_None, eRetry_ProxyAuthenticate, eRetry_Redirect, eRetry_Redirect303, SHttpConnector::expected, fatal(), fHTTP_KeepHeader, fHTTP_NoAutomagicSID, fHTTP_SuppressMessages, SHttpConnector::flags, free(), g_NcbiDefConnTimeout, SHttpConnector::http, SHttpConnector::http_code, HTTP_NCBI_MESSAGE, HTTP_NCBI_SID, SConnNetInfo::http_version, IO_StatusStr(), isspace(), SHttpConnector::keepalive, len, malloc(), SConnNetInfo::max_try, memmove, SRetry::mode, n, NCBI_BIGCOUNT_FORMAT_SPEC, SHttpConnector::net_info, SHttpConnector::parse_header, SHttpConnector::r_buf, SHttpConnector::received, SConnNetInfo::req_method, SHttpConnector::reused, s_MessageHook, s_MessageIssued, s_ReadData(), STimeoutTag::sec, ncbi::grid::netcache::search::fields::size, SHttpConnector::sock, SOCK_GetTimeout(), SOCK_SetTimeout(), SOCK_StripToPattern(), strncasecmp, text(), tmp, STimeoutTag::usec, SHttpConnector::user_data, verify, x_ErrorHeaderOnly(), and x_IsValidChallenge().
Referenced by s_PreRead().
Definition at line 2710 of file ncbi_http_connector.c.
References close(), CONN_SET_DEFAULT_TIMEOUT, CONN_SET_METHOD, SConnectorTag::handle, SConnectorTag::meta, SHttpConnector::net_info, s_VT_Close(), s_VT_Descr(), s_VT_Flush(), s_VT_GetType(), s_VT_Open(), s_VT_Read(), s_VT_Status(), s_VT_Wait(), s_VT_Write(), and SConnNetInfo::timeout.
Referenced by s_CreateConnector().
|
static |
Definition at line 813 of file ncbi_http_connector.c.
References data, SHttpConnector::major_fault, and SHttpConnector::minor_fault.
Referenced by s_Connect().
|
static |
Definition at line 2686 of file ncbi_http_connector.c.
References assert, BUF_Erase(), BUF_Size(), SHttpConnector::can_connect, eEM_Drop, eIO_Success, fCC_Once, fHTTP_Flushable, SHttpConnector::flags, SConnectorTag::handle, if(), s_Disconnect(), s_PreRead(), SHttpConnector::sock, and SHttpConnector::w_buf.
Referenced by s_Setup().
Definition at line 2453 of file ncbi_http_connector.c.
References ConnNetInfo_URL(), and SConnectorTag::handle.
Referenced by s_Setup().
|
static |
Definition at line 2621 of file ncbi_http_connector.c.
References BUF_Size(), SHttpConnector::can_connect, SHttpConnector::conn_state, eCS_ReadBody, eCS_ReadHeader, eEM_Flush, eIO_Success, fCC_None, fHTTP_Flushable, SHttpConnector::flags, SConnectorTag::handle, if(), SHttpConnector::r_buf, s_ConnectAndSend(), s_PreRead(), SHttpConnector::sock, SHttpConnector::w_timeout, SHttpConnector::ww_timeout, and x_IsWriteThru().
Referenced by s_Setup().
Definition at line 2446 of file ncbi_http_connector.c.
Referenced by s_Setup().
|
static |
Definition at line 2460 of file ncbi_http_connector.c.
References eIO_Success, SConnectorTag::handle, and s_OpenHttpConnector().
Referenced by s_Setup().
|
static |
Definition at line 2653 of file ncbi_http_connector.c.
References assert, buf, BUF_Read(), BUF_Size(), SHttpConnector::can_connect, eEM_Flush, eEM_Read, eIO_Success, eIO_Unknown, fCC_Once, SConnectorTag::handle, SHttpConnector::r_buf, s_PreRead(), s_Read(), and ncbi::grid::netcache::search::fields::size.
Referenced by s_Setup().
|
static |
Definition at line 2676 of file ncbi_http_connector.c.
References SHttpConnector::can_connect, eIO_Success, fCC_None, SConnectorTag::handle, SHttpConnector::sock, and SOCK_Status().
Referenced by s_Setup().
|
static |
Definition at line 2469 of file ncbi_http_connector.c.
References assert, BUF_Size(), SHttpConnector::can_connect, SHttpConnector::conn_state, eCS_FlushRequest, eCS_ReadHeader, eEM_Flush, eEM_Wait, eIO_InvalidArg, eIO_Read, eIO_Success, eIO_Write, fCC_None, fCC_Once, SConnectorTag::handle, SHttpConnector::r_buf, s_ConnectAndSend(), s_PreRead(), SHttpConnector::sock, SOCK_Status(), SOCK_Wait(), SHttpConnector::w_buf, SHttpConnector::w_len, and x_IsWriteThru().
Referenced by s_Setup().
|
static |
Definition at line 2522 of file ncbi_http_connector.c.
References assert, buf, BUF_AppendEx(), BUF_Erase(), BUF_Size(), BUF_Write(), SHttpConnector::can_connect, SHttpConnector::conn_state, ConnNetInfo_URL(), CORE_LOGF_X, eCS_NotInitiated, eCS_WriteRequest, eEM_Drop, eEM_Flush, eEM_Read, eIO_Success, eIO_Unknown, eLOG_Error, SHttpConnector::entity, eReqMethod_Get, eReqMethod_Head, fCC_None, fCC_Once, fHCC_UrlEncodeOutput, fHTTP_DropUnread, SHttpConnector::flags, free(), SConnectorTag::handle, SConnNetInfo::http_version, kInfiniteTimeout, malloc(), n, NCBI_BIGCOUNT_FORMAT_SPEC_HEX, SHttpConnector::net_info, prefix, SConnNetInfo::req_method, s_ConnectAndSend(), s_Disconnect(), ncbi::grid::netcache::search::fields::size, SHttpConnector::sock, URL_Encode(), SHttpConnector::w_buf, SHttpConnector::w_len, SHttpConnector::w_timeout, SHttpConnector::ww_timeout, and x_IsWriteThru().
Referenced by s_Setup().
|
static |
Definition at line 201 of file ncbi_http_connector.c.
References assert, SHttpConnector::auth_done, BASE64_Decode, BASE64_Encode, buf, CONN_PASS_LEN, CONN_USER_LEN, ConnNetInfo_OverrideUserHeader(), eHTTP_AuthDone, eHTTP_AuthError, eHTTP_AuthIllegal, eHTTP_AuthMissing, eHTTP_AuthUnsafe, SHttpConnector::entity, eRetry_Authenticate, eRetry_ProxyAuthenticate, eURL_Https, SConnNetInfo::http_proxy_host, SConnNetInfo::http_proxy_pass, SConnNetInfo::http_proxy_port, SConnNetInfo::http_proxy_user, len, n, SHttpConnector::net_info, SConnNetInfo::pass, SHttpConnector::proxy_auth_done, SConnNetInfo::scheme, tag, SConnNetInfo::user, and x_UnsafeRedirectOK().
Referenced by s_Adjust(), and s_Connect().
|
static |
Definition at line 2176 of file ncbi_http_connector.c.
References SHttpConnector::conn_state, eCS_Eom, eIO_Close, kZeroTimeout, SHttpConnector::sock, SOCK_Destroy, and SOCK_SetTimeout().
Referenced by s_Read().
|
static |
Definition at line 1537 of file ncbi_http_connector.c.
References ConnNetInfo_Boolean(), ConnNetInfo_GetValueInternal(), eDefault, eOff, eOn, SHttpConnector::error_header, SHttpConnector::net_info, SConnNetInfo::svc, and val.
Referenced by s_ReadHeader().
|
static |
Definition at line 2742 of file ncbi_http_connector.c.
References assert, buf, ConnNetInfo_AppendUserHeader(), ConnNetInfo_DeleteUserHeader(), ConnNetInfo_ExtendUserHeader(), ConnNetInfo_OverrideUserHeader(), CORE_GetAppName(), SConnNetInfo::external, first(), free(), HTTP_NCBI_SID, SConnNetInfo::http_referer, SConnNetInfo::http_user_header, len, memmove, NCBI_EXTERNAL, strncasecmp, and strndup.
Referenced by s_CreateHttpConnector().
Definition at line 730 of file ncbi_http_connector.c.
References malloc().
Referenced by x_SetHttpHostTag().
Definition at line 1296 of file ncbi_http_connector.c.
References len, strncasecmp, text(), and x_IsValidParam().
Referenced by s_ReadHeader().
Definition at line 1270 of file ncbi_http_connector.c.
References assert, isspace(), and len.
Referenced by x_IsValidChallenge().
|
static |
Definition at line 454 of file ncbi_http_connector.c.
References fHTTP_WriteThru, SHttpConnector::flags, SConnNetInfo::http_version, and SHttpConnector::net_info.
Referenced by s_Connect(), s_ConnectAndSend(), s_PreRead(), s_VT_Flush(), s_VT_Wait(), s_VT_Write(), and x_Redirect().
|
static |
Definition at line 312 of file ncbi_http_connector.c.
References assert, CONN_PORT_HTTP, CONN_PORT_HTTPS, eURL_Http, and eURL_Https.
Referenced by x_SameOrDefPort(), x_SamePort(), and x_SetHttpHostTag().
Definition at line 1335 of file ncbi_http_connector.c.
References buf, BUF_PeekAtCB(), BUF_Size(), ctx, eIO_Success, ncbi::grid::netcache::search::fields::size, and x_PushbackBuf().
Referenced by x_ReadChunkHead(), and x_ReadChunkTail().
Definition at line 1324 of file ncbi_http_connector.c.
References assert, buf, ctx, data, eIO_Success, ncbi::grid::netcache::search::fields::size, and SOCK_Pushback().
Referenced by x_Pushback().
|
static |
Definition at line 1345 of file ncbi_http_connector.c.
References assert, buf, BUF_Destroy(), BUF_Peek(), BUF_Size(), ConnNetInfo_URL(), CORE_LOGF_X, eIO_NotSupported, eIO_Success, eIO_Unknown, eLOG_Error, SHttpConnector::expected, first(), free(), IO_StatusStr(), isspace(), malloc(), n, NCBI_BIGCOUNT_FORMAT_SPEC_HEX, SHttpConnector::net_info, SHttpConnector::received, ncbi::grid::netcache::search::fields::size, SHttpConnector::sock, SOCK_StripToPattern(), str(), strerror(), verify, and x_Pushback().
Referenced by s_ReadData().
|
static |
Definition at line 1426 of file ncbi_http_connector.c.
References buf, BUF_Destroy(), SHttpConnector::conn_state, ConnNetInfo_URL(), CORE_LOGF_X, eCS_Discard, eIO_Success, eIO_Unknown, eLOG_Error, free(), n, SHttpConnector::net_info, SHttpConnector::sock, SOCK_StripToPattern(), and x_Pushback().
Referenced by s_Read(), and s_ReadData().
|
static |
Definition at line 470 of file ncbi_http_connector.c.
References SHttpConnector::adjust, BUF_Erase(), BUF_Size(), ConnNetInfo_ParseURL(), ConnNetInfo_SetArgs(), SRetry::data, eHTTP_RedirectError, eHTTP_RedirectInvalid, eHTTP_RedirectOK, eHTTP_RedirectUnsafe, eReqMethod_Any, eReqMethod_Delete, eReqMethod_Get, eReqMethod_Post, eReqMethod_Put, eRetry_Redirect303, eURL_Https, fHTTP_AdjustOnRedirect, SHttpConnector::flags, free(), SConnNetInfo::host, SRetry::mode, SHttpConnector::net_info, SConnNetInfo::port, SConnNetInfo::req_method, s_CallAdjust(), SConnNetInfo::scheme, strcasecmp, SHttpConnector::vhost, SHttpConnector::w_buf, x_IsWriteThru(), x_RedirectOK(), x_SamePort(), and x_UnsafeRedirectOK().
Referenced by s_Adjust().
|
static |
Definition at line 420 of file ncbi_http_connector.c.
References CONN_HOST_LEN, SOCK_gethostbyaddr(), SOCK_gethostbyname(), SOCK_isipEx(), strcasecmp, strncpy0(), and x_SameOrDefPort().
Referenced by x_Redirect().
|
static |
Definition at line 409 of file ncbi_http_connector.c.
References x_PortForScheme().
Referenced by x_RedirectOK().
|
static |
Definition at line 332 of file ncbi_http_connector.c.
References x_PortForScheme().
Referenced by s_CallAdjust(), and x_Redirect().
Definition at line 293 of file ncbi_http_connector.c.
References CONN_HOST_LEN, SOCK_gethostbyaddr(), SOCK_gethostbyname(), and strcasecmp.
Referenced by s_CallAdjust().
|
static |
Definition at line 283 of file ncbi_http_connector.c.
References eURL_Http.
Referenced by s_CallAdjust().
|
static |
Definition at line 750 of file ncbi_http_connector.c.
References ConnNetInfo_PreOverrideUserHeader(), free(), SConnNetInfo::host, kHttpHostTag, memmove, SConnNetInfo::port, SConnNetInfo::scheme, tag, x_HostPort(), and x_PortForScheme().
Referenced by s_Connect().
|
static |
Definition at line 775 of file ncbi_http_connector.c.
References assert, ConnNetInfo_DeleteUserHeader(), ConnNetInfo_PostOverrideUserHeader, CORE_GetNcbiRequestID(), eNcbiRequestID_HitID, eNcbiRequestID_SID, free(), HTTP_NCBI_PHID, HTTP_NCBI_SID, len, memmove, and tag.
Referenced by s_Connect().
|
static |
Definition at line 172 of file ncbi_http_connector.c.
References ConnNetInfo_Boolean(), ConnNetInfo_GetValueInternal(), eDefault, eOff, eOn, fHTTP_UnsafeRedirects, SHttpConnector::flags, SHttpConnector::net_info, SConnNetInfo::svc, SHttpConnector::unsafe_redir, and val.
Referenced by x_Authenticate(), and x_Redirect().
Definition at line 1153 of file ncbi_http_connector.c.
References assert, buf, ctx, data, eIO_Success, eIO_WritePlain, ncbi::grid::netcache::search::fields::size, and SOCK_Write().
Referenced by s_ConnectAndSend().
|
static |
Definition at line 163 of file ncbi_http_connector.c.
Referenced by x_SetHttpHostTag().
Definition at line 164 of file ncbi_http_connector.c.
Referenced by s_DropConnection(), and x_Close().
|
static |
Definition at line 169 of file ncbi_http_connector.c.
Referenced by HTTP_SetNcbiMessageHook(), and s_ReadHeader().
|
static |
Definition at line 168 of file ncbi_http_connector.c.
Referenced by HTTP_SetNcbiMessageHook(), and s_ReadHeader().