Macros | Enumerations | Functions | Variables
http.c File Reference
#include "curl_setup.h"
#include "urldata.h"
#include <curl/curl.h>
#include "transfer.h"
#include "sendf.h"
#include "formdata.h"
#include "mime.h"
#include "progress.h"
#include "curl_base64.h"
#include "cookie.h"
#include "vauth/vauth.h"
#include "vtls/vtls.h"
#include "http_digest.h"
#include "http_ntlm.h"
#include "curl_ntlm_wb.h"
#include "http_negotiate.h"
#include "url.h"
#include "share.h"
#include "hostip.h"
#include "http.h"
#include "select.h"
#include "parsedate.h"
#include "strtoofft.h"
#include "multiif.h"
#include "strcase.h"
#include "content_encoding.h"
#include "http_proxy.h"
#include "warnless.h"
#include "non-ascii.h"
#include "conncache.h"
#include "pipeline.h"
#include "http2.h"
#include "connect.h"
#include "strdup.h"
#include "curl_printf.h"
#include "curl_memory.h"
#include "memdebug.h"
Include dependency graph for http.c:

Go to the source code of this file.

Macros

#define HEADER1   k->p /* no conversion needed, just use k->p */
 
#define https_connecting(x, y)   CURLE_COULDNT_CONNECT
 

Enumerations

enum  proxy_use { HEADER_SERVER, HEADER_PROXY, HEADER_CONNECT }
 

Functions

static bool checkhttpprefix (struct Curl_easy *data, const char *s)
 
static bool checkprotoprefix (struct Curl_easy *data, struct connectdata *conn, const char *s)
 
static bool checkrtspprefix (struct Curl_easy *data, const char *s)
 
CURLcode Curl_add_buffer (Curl_send_buffer *in, const void *inptr, size_t size)
 
void Curl_add_buffer_free (Curl_send_buffer *buff)
 
Curl_send_bufferCurl_add_buffer_init (void)
 
CURLcode Curl_add_buffer_send (Curl_send_buffer *in, struct connectdata *conn, long *bytes_written, size_t included_body_bytes, int socketindex)
 
CURLcode Curl_add_bufferf (Curl_send_buffer *in, const char *fmt,...)
 
CURLcode Curl_add_custom_headers (struct connectdata *conn, bool is_connect, Curl_send_buffer *req_buffer)
 
CURLcode Curl_add_timecondition (struct Curl_easy *data, Curl_send_buffer *req_buffer)
 
char * Curl_checkProxyheaders (const struct connectdata *conn, const char *thisheader)
 
bool Curl_compareheader (const char *headerline, const char *header, const char *content)
 
char * Curl_copy_header_value (const char *header)
 
CURLcode Curl_http (struct connectdata *conn, bool *done)
 
CURLcode Curl_http_auth_act (struct connectdata *conn)
 
CURLcode Curl_http_connect (struct connectdata *conn, bool *done)
 
CURLcode Curl_http_done (struct connectdata *conn, CURLcode status, bool premature)
 
CURLcode Curl_http_input_auth (struct connectdata *conn, bool proxy, const char *auth)
 
CURLcode Curl_http_output_auth (struct connectdata *conn, const char *request, const char *path, bool proxytunnel)
 Curl_http_output_auth() setups the authentication headers for the host/proxy and the correct authentication method. More...
 
CURLcode Curl_http_readwrite_headers (struct Curl_easy *data, struct connectdata *conn, ssize_t *nread, bool *stop_reading)
 
CURLcode Curl_http_setup_conn (struct connectdata *conn)
 
static CURLcode expect100 (struct Curl_easy *data, struct connectdata *conn, Curl_send_buffer *req_buffer)
 
static const char * get_http_string (const struct Curl_easy *data, const struct connectdata *conn)
 
static CURLcode header_append (struct Curl_easy *data, struct SingleRequest *k, size_t length)
 
static int http_getsock_do (struct connectdata *conn, curl_socket_t *socks, int numsocks)
 
static CURLcode http_output_basic (struct connectdata *conn, bool proxy)
 
static CURLcode http_perhapsrewind (struct connectdata *conn)
 
static int http_should_fail (struct connectdata *conn)
 http_should_fail() determines whether an HTTP response has gotten us into an error state or not. More...
 
static CURLcode output_auth_headers (struct connectdata *conn, struct auth *authstatus, const char *request, const char *path, bool proxy)
 
static bool pickoneauth (struct auth *pick)
 
static void print_http_error (struct Curl_easy *data)
 
static size_t readmoredata (char *buffer, size_t size, size_t nitems, void *userp)
 
static bool use_http_1_1plus (const struct Curl_easy *data, const struct connectdata *conn)
 

Variables

const struct Curl_handler Curl_handler_http
 

Macro Definition Documentation

#define HEADER1   k->p /* no conversion needed, just use k->p */
#define https_connecting (   x,
  y 
)    CURLE_COULDNT_CONNECT

Definition at line 102 of file http.c.

Enumeration Type Documentation

enum proxy_use
Enumerator
HEADER_SERVER 
HEADER_PROXY 
HEADER_CONNECT 

Definition at line 1553 of file http.c.

Function Documentation

static bool checkhttpprefix ( struct Curl_easy data,
const char *  s 
)
static

Definition at line 2784 of file http.c.

static bool checkprotoprefix ( struct Curl_easy data,
struct connectdata conn,
const char *  s 
)
static

Definition at line 2852 of file http.c.

static bool checkrtspprefix ( struct Curl_easy data,
const char *  s 
)
static

Definition at line 2823 of file http.c.

CURLcode Curl_add_buffer ( Curl_send_buffer in,
const void *  inptr,
size_t  size 
)

Definition at line 1223 of file http.c.

void Curl_add_buffer_free ( Curl_send_buffer buff)

Definition at line 1037 of file http.c.

Curl_send_buffer* Curl_add_buffer_init ( void  )

Definition at line 1029 of file http.c.

CURLcode Curl_add_buffer_send ( Curl_send_buffer in,
struct connectdata conn,
long *  bytes_written,
size_t  included_body_bytes,
int  socketindex 
)

Definition at line 1050 of file http.c.

CURLcode Curl_add_bufferf ( Curl_send_buffer in,
const char *  fmt,
  ... 
)

Definition at line 1201 of file http.c.

CURLcode Curl_add_custom_headers ( struct connectdata conn,
bool  is_connect,
Curl_send_buffer req_buffer 
)

Definition at line 1559 of file http.c.

CURLcode Curl_add_timecondition ( struct Curl_easy data,
Curl_send_buffer req_buffer 
)

Definition at line 1684 of file http.c.

char* Curl_checkProxyheaders ( const struct connectdata conn,
const char *  thisheader 
)

Definition at line 185 of file http.c.

bool Curl_compareheader ( const char *  headerline,
const char *  header,
const char *  content 
)

Definition at line 1285 of file http.c.

char* Curl_copy_header_value ( const char *  header)

Definition at line 208 of file http.c.

CURLcode Curl_http ( struct connectdata conn,
bool done 
)

Definition at line 1748 of file http.c.

CURLcode Curl_http_auth_act ( struct connectdata conn)

Definition at line 476 of file http.c.

CURLcode Curl_http_connect ( struct connectdata conn,
bool done 
)

Definition at line 1337 of file http.c.

CURLcode Curl_http_done ( struct connectdata conn,
CURLcode  status,
bool  premature 
)

Definition at line 1415 of file http.c.

CURLcode Curl_http_input_auth ( struct connectdata conn,
bool  proxy,
const char *  auth 
)

Definition at line 734 of file http.c.

CURLcode Curl_http_output_auth ( struct connectdata conn,
const char *  request,
const char *  path,
bool  proxytunnel 
)

Curl_http_output_auth() setups the authentication headers for the host/proxy and the correct authentication method.

conn->data->state.authdone is set to TRUE when authentication is done.

Parameters
connall information about the current connection
requestpointer to the request keyword
pathpointer to the requested path
proxytunnelboolean if this is the request setting up a "proxy tunnel"
Returns
CURLcode

Definition at line 660 of file http.c.

CURLcode Curl_http_readwrite_headers ( struct Curl_easy data,
struct connectdata conn,
ssize_t nread,
bool stop_reading 
)

Definition at line 2948 of file http.c.

CURLcode Curl_http_setup_conn ( struct connectdata conn)

Definition at line 155 of file http.c.

static CURLcode expect100 ( struct Curl_easy data,
struct connectdata conn,
Curl_send_buffer req_buffer 
)
static

Definition at line 1524 of file http.c.

static const char* get_http_string ( const struct Curl_easy data,
const struct connectdata conn 
)
static

Definition at line 1509 of file http.c.

static CURLcode header_append ( struct Curl_easy data,
struct SingleRequest k,
size_t  length 
)
static

Definition at line 2870 of file http.c.

static int http_getsock_do ( struct connectdata conn,
curl_socket_t socks,
int  numsocks 
)
static

Definition at line 1376 of file http.c.

static CURLcode http_output_basic ( struct connectdata conn,
bool  proxy 
)
static

Definition at line 263 of file http.c.

static CURLcode http_perhapsrewind ( struct connectdata conn)
static

Definition at line 369 of file http.c.

static int http_should_fail ( struct connectdata conn)
static

http_should_fail() determines whether an HTTP response has gotten us into an error state or not.

Parameters
connall information about the current connection
Return values
0communications should continue
1communications should not continue

Definition at line 909 of file http.c.

static CURLcode output_auth_headers ( struct connectdata conn,
struct auth authstatus,
const char *  request,
const char *  path,
bool  proxy 
)
static

Definition at line 551 of file http.c.

static bool pickoneauth ( struct auth pick)
static

Definition at line 318 of file http.c.

static void print_http_error ( struct Curl_easy data)
static

Definition at line 2908 of file http.c.

static size_t readmoredata ( char *  buffer,
size_t  size,
size_t  nitems,
void *  userp 
)
static

Definition at line 979 of file http.c.

static bool use_http_1_1plus ( const struct Curl_easy data,
const struct connectdata conn 
)
static

Definition at line 1497 of file http.c.

Variable Documentation

const struct Curl_handler Curl_handler_http
Initial value:
= {
"HTTP",
}
#define CURLPROTO_HTTP
Definition: curl.h:844
CURLcode Curl_http_connect(struct connectdata *conn, bool *done)
Definition: http.c:1337
#define ZERO_NULL
Definition: curlx.c:131
static int http_getsock_do(struct connectdata *conn, curl_socket_t *socks, int numsocks)
Definition: http.c:1376
CURLcode Curl_http_setup_conn(struct connectdata *conn)
Definition: http.c:155
CURLcode Curl_http_done(struct connectdata *conn, CURLcode status, bool premature)
Definition: http.c:1415
CURLcode Curl_http(struct connectdata *conn, bool *done)
Definition: http.c:1748
#define PORT_HTTP
Definition: urldata.h:32
#define PROTOPT_CREDSPERREQUEST
Definition: urldata.h:713

Definition at line 108 of file http.c.



rc_tagdetect_client
Author(s): Monika Florek-Jasinska , Raphael Schaller
autogenerated on Sat Feb 13 2021 03:42:17