ldb: Release LDB 1.3.6
[Samba.git] / source4 / lib / http / http_internal.h
blob040466dcb293885eb8912ad8757a02015bcb9999
1 /*
2 Unix SMB/CIFS implementation.
4 HTTP library
6 Copyright (C) 2014 Samuel Cabrero <samuelcabrero@kernevil.me>
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program. If not, see <http://www.gnu.org/licenses/>.
22 #ifndef _HTTP_INTERNAL_H_
23 #define _HTTP_INTERNAL_H_
25 enum http_parser_state {
26 HTTP_READING_FIRSTLINE,
27 HTTP_READING_HEADERS,
28 HTTP_READING_BODY,
29 HTTP_READING_TRAILER,
30 HTTP_READING_DONE,
33 enum http_read_status {
34 HTTP_ALL_DATA_READ,
35 HTTP_MORE_DATA_EXPECTED,
36 HTTP_DATA_CORRUPTED,
37 HTTP_REQUEST_CANCELED,
38 HTTP_DATA_TOO_LONG,
41 struct http_send_request_state {
42 struct tevent_context *ev;
43 struct tstream_context *stream;
44 struct loadparm_context *lp_ctx;
45 struct cli_credentials *credentials;
46 struct tevent_queue *send_queue;
47 struct http_request *request;
48 DATA_BLOB buffer;
49 struct iovec iov;
50 ssize_t nwritten;
51 int sys_errno;
54 struct http_read_response_state {
55 enum http_parser_state parser_state;
56 size_t max_headers_size;
57 uint64_t max_content_length;
58 DATA_BLOB buffer;
59 struct http_request *response;
63 #endif /* _HTTP_INTERNAL_H_ */