Changeset 4f086417 in mainline for uspace/lib/http/include/http/http.h
- Timestamp:
- 2013-10-05T20:51:34Z (11 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 39bcc99
- Parents:
- ef2ecec (diff), cbfc8b7 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/http/include/http/http.h
ref2ecec r4f086417 41 41 #include <inet/addr.h> 42 42 43 #include "receive-buffer.h" 44 43 45 typedef struct { 44 46 char *host; … … 50 52 51 53 size_t buffer_size; 52 char *recv_buffer; 53 size_t recv_buffer_in; 54 size_t recv_buffer_out; 54 receive_buffer_t recv_buffer; 55 55 } http_t; 56 56 … … 67 67 68 68 typedef struct { 69 list_t list; 70 } http_headers_t; 71 72 typedef struct { 69 73 char *method; 70 74 char *path; 71 list_t headers;75 http_headers_t headers; 72 76 } http_request_t; 73 77 … … 76 80 uint16_t status; 77 81 char *message; 78 list_t headers;82 http_headers_t headers; 79 83 } http_response_t; 80 84 81 85 extern http_t *http_create(const char *, uint16_t); 82 86 extern int http_connect(http_t *); 87 88 extern void http_header_init(http_header_t *); 83 89 extern http_header_t *http_header_create(const char *, const char *); 84 extern http_header_t *http_header_create_no_copy(char *, char *); 90 extern int http_header_receive_name(receive_buffer_t *, receive_buffer_mark_t *); 91 extern int http_header_receive_value(receive_buffer_t *, receive_buffer_mark_t *, 92 receive_buffer_mark_t *); 93 extern int http_header_receive(receive_buffer_t *, http_header_t *, size_t, 94 size_t *); 95 extern void http_header_normalize_value(char *); 96 extern bool http_header_name_match(const char *, const char *); 97 ssize_t http_header_encode(http_header_t *, char *, size_t); 85 98 extern void http_header_destroy(http_header_t *); 99 100 extern void http_headers_init(http_headers_t *); 101 extern int http_headers_find_single(http_headers_t *, const char *, 102 http_header_t **); 103 extern int http_headers_append(http_headers_t *, const char *, const char *); 104 extern int http_headers_set(http_headers_t *, const char *, const char *); 105 extern int http_headers_get(http_headers_t *, const char *, char **); 106 extern int http_headers_receive(receive_buffer_t *, http_headers_t *, size_t, 107 unsigned); 108 extern void http_headers_clear(http_headers_t *); 109 110 #define http_headers_foreach(headers, iter) \ 111 list_foreach((headers).list, link, http_header_t, (iter)) 112 113 static inline void http_headers_remove(http_headers_t *headers, 114 http_header_t *header) 115 { 116 list_remove(&header->link); 117 } 118 119 static inline void http_headers_append_header(http_headers_t *headers, 120 http_header_t *header) 121 { 122 list_append(&header->link, &headers->list); 123 } 124 86 125 extern http_request_t *http_request_create(const char *, const char *); 87 126 extern void http_request_destroy(http_request_t *); 88 127 extern int http_request_format(http_request_t *, char **, size_t *); 89 128 extern int http_send_request(http_t *, http_request_t *); 90 extern int http_ parse_status(const char*, http_version_t *, uint16_t *,129 extern int http_receive_status(receive_buffer_t *, http_version_t *, uint16_t *, 91 130 char **); 92 extern int http_parse_header(const char *, char **, char **); 93 extern int http_receive_response(http_t *, http_response_t **); 94 extern int http_receive_body(http_t *, void *, size_t); 131 extern int http_receive_response(receive_buffer_t *, http_response_t **, 132 size_t, unsigned); 95 133 extern void http_response_destroy(http_response_t *); 96 134 extern int http_close(http_t *);
Note:
See TracChangeset
for help on using the changeset viewer.