1 #ifndef HEADER_CURL_HTTP_H 2 #define HEADER_CURL_HTTP_H 24 #include "curl_setup.h" 26 #ifndef CURL_DISABLE_HTTP 29 #include <nghttp2/nghttp2.h> 39 bool Curl_compareheader(
const char *headerline,
43 char *Curl_checkheaders(
const struct connectdata *conn,
44 const char *thisheader);
45 char *Curl_copy_header_value(
const char *header);
47 char *Curl_checkProxyheaders(
const struct connectdata *conn,
48 const char *thisheader);
62 Curl_send_buffer *Curl_add_buffer_init(
void);
63 void Curl_add_buffer_free(Curl_send_buffer *buff);
64 CURLcode Curl_add_bufferf(Curl_send_buffer *in,
const char *fmt, ...);
65 CURLcode Curl_add_buffer(Curl_send_buffer *in,
const void *inptr,
size_t size);
66 CURLcode Curl_add_buffer_send(Curl_send_buffer *in,
69 size_t included_body_bytes,
73 Curl_send_buffer *buf);
74 CURLcode Curl_add_custom_headers(
struct connectdata *conn,
76 Curl_send_buffer *req_buffer);
79 CURLcode Curl_http(
struct connectdata *conn,
bool *done);
80 CURLcode Curl_http_done(
struct connectdata *, CURLcode,
bool premature);
81 CURLcode Curl_http_connect(
struct connectdata *conn,
bool *done);
82 CURLcode Curl_http_setup_conn(
struct connectdata *conn);
86 CHUNKcode Curl_httpchunk_read(
struct connectdata *conn,
char *datap,
87 ssize_t length, ssize_t *wrote);
90 void Curl_http_auth_stage(
struct SessionHandle *data,
int stage);
91 CURLcode Curl_http_input_auth(
struct connectdata *conn,
bool proxy,
93 CURLcode Curl_http_auth_act(
struct connectdata *conn);
94 CURLcode Curl_http_perhapsrewind(
struct connectdata *conn);
100 #define CURLAUTH_PICKNONE (1<<30) 114 #ifndef MAX_INITIAL_POST_SIZE 115 #define MAX_INITIAL_POST_SIZE (64*1024) 118 #ifndef TINY_INITIAL_POST_SIZE 119 #define TINY_INITIAL_POST_SIZE 1024 130 const char *postdata;
132 const char *p_pragma;
133 const char *p_accept;
134 curl_off_t readbytecount;
135 curl_off_t writebytecount;
141 curl_read_callback fread_func;
143 const char *postdata;
163 Curl_send_buffer *header_recvbuf;
164 size_t nread_header_recvbuf;
166 Curl_send_buffer *trailer_recvbuf;
168 const uint8_t *pausedata;
177 const uint8_t *upload_mem;
179 curl_off_t upload_left;
182 size_t push_headers_used;
183 size_t push_headers_alloc;
187 typedef int (*sending)(void);
188 typedef int (*recving)(void);
193 uint32_t max_concurrent_streams;
201 #define H2_BINSETTINGS_LEN 80 203 uint8_t binsettings[H2_BINSETTINGS_LEN];
205 sending send_underlying;
206 recving recv_underlying;
215 int32_t pause_stream_id;
219 struct h2settings settings;
225 CURLcode Curl_http_readwrite_headers(
struct SessionHandle *data,
Definition: urldata.h:1670
Definition: urldata.h:724
Definition: urldata.h:1189
Definition: urldata.h:831