Go to the source code of this file.
| #define CURLAUTH_PICKNONE (1<<30) |
| #define MAX_INITIAL_POST_SIZE (64*1024) |
| #define TINY_INITIAL_POST_SIZE 1024 |
| bool Curl_compareheader | ( | char * | headerline, | |
| const char * | header, | |||
| const char * | content | |||
| ) |
Definition at line 1054 of file http.c.
References FALSE, ISSPACE, strnequal, and TRUE.
Referenced by Curl_http(), Curl_proxyCONNECT(), and Curl_readwrite().
| CURLcode Curl_http | ( | struct connectdata * | conn, | |
| bool * | done | |||
| ) |
Definition at line 1716 of file http.c.
References connectdata::dynamically_allocated_data::accept_encoding, add_buffer(), add_buffer_init(), add_buffer_send(), add_bufferf(), add_custom_headers(), connectdata::allocptr, UrlState::authhost, ConnectBits::authneg, UrlState::authproxy, connectdata::bits, UrlState::buffer, BUFSIZE, SessionHandle::change, checkheaders(), UserDefined::cookie, connectdata::dynamically_allocated_data::cookiehost, SessionHandle::cookies, count, Curl_compareheader(), Curl_cookie_freelist(), Curl_cookie_getlist(), Curl_formclean(), Curl_formconvert(), Curl_FormInit(), Curl_formpostheader(), Curl_FormReader(), Curl_getFormData(), Curl_http_output_auth(), CURL_HTTP_VERSION_1_0, CURL_LOCK_ACCESS_SINGLE, CURL_LOCK_DATA_COOKIE, Curl_month, Curl_pgrsSetUploadSize(), Curl_safefree(), Curl_setup_transfer(), Curl_share_lock(), Curl_share_unlock(), curl_strequal(), CURL_TIMECOND_IFMODSINCE, CURL_TIMECOND_IFUNMODSINCE, CURL_TIMECOND_LASTMOD, Curl_wkday, CURLE_HTTP_POST_ERROR, CURLE_OK, CURLE_OUT_OF_MEMORY, CURLE_PARTIAL_FILE, CURLE_READ_ERROR, UserDefined::customrequest, connectdata::data, DEBUGASSERT, hostname::dispname, UserDefined::encoding, expect100(), UrlState::expect100header, failf, FALSE, UrlState::first_host, FIRSTSOCKET, HTTP::form, FORMAT_OFF_T, connectdata::fread, UserDefined::fread, connectdata::fread_in, free, connectdata::dynamically_allocated_data::host, connectdata::host, HandleData::http, UserDefined::httppost, ConnectBits::httpproxy, UserDefined::httpreq, HTTPREQ_GET, HTTPREQ_HEAD, HTTPREQ_LAST, HTTPREQ_NONE, HTTPREQ_POST, HTTPREQ_POST_FORM, HTTPREQ_PUT, UserDefined::httpversion, UserDefined::in, UserDefined::infilesize, SessionHandle::info, ConnectBits::ipv6_ip, ISSPACE, malloc, MAX_INITIAL_POST_SIZE, auth::multi, Cookie::name, hostname::name, Cookie::next, ConnectBits::no_body, NULL, HTTP::p_accept, HTTP::p_pragma, HandleData::path, PORT_HTTP, PORT_HTTPS, HTTP::postdata, UserDefined::postfields, UserDefined::postfieldsize, HTTP::postsize, PROT_FTP, PROT_HTTP, PROT_HTTPS, HandleData::proto, connectdata::protocol, connectdata::dynamically_allocated_data::proxyuserpwd, HandleData::range, connectdata::dynamically_allocated_data::rangeline, HTTP::readbytecount, readmoredata(), connectdata::dynamically_allocated_data::ref, DynamicStatic::referer, connectdata::remote_port, SessionHandle::reqdata, PureInfo::request_size, HandleData::resume_from, HTTP::sending, HTTP::sendit, SessionHandle::set, SessionHandle::state, UrlState::this_is_a_follow, UserDefined::timecondition, UserDefined::timevalue, TINY_INITIAL_POST_SIZE, TRUE, ConnectBits::tunnel_proxy, connectdata::dynamically_allocated_data::uagent, UserDefined::upload, ConnectBits::upload_chunky, DynamicStatic::url, DynamicStatic::url_alloc, HandleData::use_range, UserDefined::useragent, connectdata::dynamically_allocated_data::userpwd, Cookie::value, and HTTP::writebytecount.
Referenced by CreateConnection().
| CURLcode Curl_http_auth_act | ( | struct connectdata * | conn | ) |
Definition at line 304 of file http.c.
References UrlState::authhost, ConnectBits::authneg, UrlState::authproblem, UrlState::authproxy, connectdata::bits, SessionHandle::change, Curl_http_should_fail(), CURLE_HTTP_RETURNED_ERROR, CURLE_OK, CURLE_OUT_OF_MEMORY, connectdata::data, auth::done, failf, FALSE, UserDefined::http_fail_on_error, Curl_transfer_keeper::httpcode, UserDefined::httpreq, HTTPREQ_GET, HTTPREQ_HEAD, HandleData::keep, HandleData::newurl, perhapsrewind(), pickoneauth(), ConnectBits::proxy_user_passwd, SessionHandle::reqdata, ConnectBits::rewindaftersend, SessionHandle::set, SessionHandle::state, strdup, TRUE, DynamicStatic::url, and ConnectBits::user_passwd.
Referenced by Curl_proxyCONNECT(), and Curl_readwrite().
| void Curl_http_auth_stage | ( | struct SessionHandle * | data, | |
| int | stage | |||
| ) |
| CURLcode Curl_http_connect | ( | struct connectdata * | conn, | |
| bool * | done | |||
| ) |
Definition at line 1462 of file http.c.
References connectdata::bits, ConnectBits::close, Curl_https_connecting(), Curl_proxyCONNECT(), Curl_ssl_connect(), CURLE_OK, CURLE_OUT_OF_MEMORY, connectdata::data, FALSE, UrlState::first_host, FIRSTSOCKET, free, connectdata::host, ConnectBits::httpproxy, hostname::name, PROT_HTTPS, connectdata::protocol, connectdata::remote_port, SessionHandle::state, strdup, UrlState::this_is_a_follow, TRUE, ConnectBits::tunnel_connecting, ConnectBits::tunnel_proxy, and UrlState::used_interface.
Referenced by CreateConnection(), and multi_runsingle().
| CURLcode Curl_http_done | ( | struct connectdata * | , | |
| CURLcode | , | |||
| bool | premature | |||
| ) |
Definition at line 1597 of file http.c.
References connectdata::bits, send_buffer::buffer, Curl_transfer_keeper::bytecount, Curl_formclean(), CURLE_GOT_NOTHING, CURLE_OK, connectdata::data, Curl_transfer_keeper::deductheadercount, failf, HTTP::form, Form::fp, UserDefined::fread, connectdata::fread, connectdata::fread_in, free, Curl_transfer_keeper::headerbytecount, HandleData::http, UserDefined::httpreq, HTTPREQ_POST_FORM, HTTPREQ_PUT, UserDefined::in, HandleData::keep, NULL, HandleData::proto, HTTP::readbytecount, SessionHandle::reqdata, ConnectBits::retry, HTTP::send_buffer, HTTP::sendit, SessionHandle::set, and HTTP::writebytecount.
Referenced by CreateConnection().
| CURLcode Curl_http_input_auth | ( | struct connectdata * | conn, | |
| int | httpcode, | |||
| char * | header | |||
| ) |
Definition at line 552 of file http.c.
References UrlState::authhost, UrlState::authproblem, UrlState::authproxy, auth::avail, SessionHandle::change, checkprefix, Curl_input_digest(), Curl_input_ntlm(), CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NONE, CURLAUTH_NTLM, CURLDIGEST_FINE, CURLE_OK, CURLNTLM_BAD, connectdata::data, FALSE, PureInfo::httpauthavail, SessionHandle::info, infof, ISSPACE, HandleData::newurl, NULL, auth::picked, PureInfo::proxyauthavail, SessionHandle::reqdata, SessionHandle::state, strdup, TRUE, and DynamicStatic::url.
Referenced by Curl_proxyCONNECT(), and Curl_readwrite().
| int Curl_http_should_fail | ( | struct connectdata * | conn | ) |
Curl_http_should_fail() determines whether an HTTP response has gotten us into an error state or not.
| conn | all information about the current connection |
| 0 | communications should continue | |
| 1 | communications should not continue |
Definition at line 678 of file http.c.
References UrlState::authproblem, connectdata::bits, connectdata::data, DEBUGASSERT, UserDefined::http_fail_on_error, Curl_transfer_keeper::httpcode, UserDefined::httpreq, HTTPREQ_GET, infof, HandleData::keep, HandleData::newurl, ConnectBits::proxy_user_passwd, SessionHandle::reqdata, HandleData::resume_from, SessionHandle::set, SessionHandle::state, TRUE, and ConnectBits::user_passwd.
Referenced by Curl_http_auth_act(), and Curl_readwrite().
| void Curl_httpchunk_init | ( | struct connectdata * | conn | ) |
Definition at line 85 of file http_chunks.c.
References HTTP::chunk, CHUNK_HEX, connectdata::data, Curl_chunker::dataleft, Curl_chunker::hexindex, HandleData::http, HandleData::proto, SessionHandle::reqdata, and Curl_chunker::state.
Referenced by Curl_httpchunk_read(), and Curl_readwrite().
| CHUNKcode Curl_httpchunk_read | ( | struct connectdata * | conn, | |
| char * | datap, | |||
| ssize_t | length, | |||
| ssize_t * | wrote | |||
| ) |
Definition at line 104 of file http_chunks.c.
References connectdata::bits, ch, HTTP::chunk, CHUNK_CR, CHUNK_DATA, CHUNK_HEX, CHUNK_POSTCR, CHUNK_POSTHEX, CHUNK_POSTLF, CHUNK_STOP, CHUNK_STOPCR, CHUNK_TRAILER, CHUNK_TRAILER_CR, CHUNK_TRAILER_POSTCR, CHUNKE_BAD_CHUNK, CHUNKE_BAD_ENCODING, CHUNKE_ILLEGAL_HEX, CHUNKE_OK, CHUNKE_OUT_OF_MEMORY, CHUNKE_STATE_ERROR, CHUNKE_STOP, CHUNKE_TOO_LONG_HEX, CHUNKE_WRITE_ERROR, CLIENTWRITE_BODY, CLIENTWRITE_HEADER, COMPRESS, Curl_transfer_keeper::content_encoding, Curl_client_write(), Curl_convert_from_network(), Curl_httpchunk_init(), Curl_unencode_deflate_write(), Curl_unencode_gzip_write(), CURLE_OK, connectdata::data, Curl_chunker::dataleft, Curl_chunker::datasize, DEFLATE, failf, GZIP, Curl_chunker::hexbuffer, Curl_chunker::hexindex, HandleData::http, UserDefined::http_ce_skip, UserDefined::http_te_skip, IDENTITY, Curl_transfer_keeper::ignorebody, HandleData::keep, malloc, MAXNUM_SIZE, NULL, HandleData::proto, realloc, SessionHandle::reqdata, SessionHandle::set, ssize_t, Curl_chunker::state, Curl_transfer_keeper::str, connectdata::trailer, ConnectBits::trailerHdrPresent, connectdata::trlMax, connectdata::trlPos, and TRUE.
Referenced by Curl_readwrite().
| CURLcode Curl_https_connecting | ( | struct connectdata * | conn, | |
| bool * | done | |||
| ) |
Definition at line 1527 of file http.c.
References Curl_ssl_connect_nonblocking(), CURLE_OK, DEBUGASSERT, FIRSTSOCKET, PROT_HTTPS, and connectdata::protocol.
Referenced by CreateConnection(), and Curl_http_connect().
| int Curl_https_getsock | ( | struct connectdata * | conn, | |
| curl_socket_t * | socks, | |||
| int | numsocks | |||
| ) |
Referenced by CreateConnection().
| CURLcode Curl_proxyCONNECT | ( | struct connectdata * | conn, | |
| int | tunnelsocket, | |||
| char * | hostname, | |||
| int | remote_port | |||
| ) |
Definition at line 1115 of file http.c.
References add_buffer_init(), add_buffer_send(), add_bufferf(), add_custom_headers(), connectdata::allocptr, UrlState::authproblem, UrlState::authproxy, connectdata::bits, UrlState::buffer, BUFSIZE, checkheaders(), checkprefix, CLIENTWRITE_BODY, CLIENTWRITE_HEADER, Curl_client_write(), Curl_compareheader(), Curl_debug(), Curl_http_auth_act(), Curl_http_input_auth(), Curl_http_output_auth(), Curl_read(), Curl_safefree(), CURL_SOCKET_BAD, Curl_socket_ready(), Curl_tvdiff, Curl_tvnow, CURLE_OK, CURLE_OUT_OF_MEMORY, CURLE_RECV_ERROR, CURLINFO_HEADER_IN, curlx_strtoofft, connectdata::data, DEBUGF, auth::done, libtorrent::dht::messages::error, failf, FALSE, FORMAT_OFF_T, free, Curl_transfer_keeper::httpcode, PureInfo::httpproxycode, UserDefined::include_header, SessionHandle::info, infof, HandleData::keep, Curl_transfer_keeper::keepon, HandleData::newurl, connectdata::now, NULL, ConnectBits::proxy_connect_closed, connectdata::dynamically_allocated_data::proxyuserpwd, SessionHandle::reqdata, PureInfo::request_size, sclose, SELECT_ERROR, SELECT_OK, SELECT_TIMEOUT, SessionHandle::set, connectdata::sock, ssize_t, SessionHandle::state, UserDefined::timeout, TRUE, ConnectBits::tunnel_connecting, connectdata::dynamically_allocated_data::uagent, UrlState::used_interface, UserDefined::useragent, and UserDefined::verbose.
Referenced by Curl_ftp_connect(), Curl_http_connect(), and ftp_state_pasv_resp().
1.5.6