Implements HTTP decoding. More...
#include <ctype.h>#include <yaz/odr.h>#include <yaz/yaz-version.h>#include <yaz/yaz-iconv.h>#include <yaz/matchstr.h>#include <yaz/zgdu.h>Go to the source code of this file.
Functions | |
| static void | yaz_base64encode (const char *in, char *out) |
| static int | decode_headers_content (ODR o, int off, Z_HTTP_Header **headers, char **content_buf, int *content_len) |
| void | z_HTTP_header_add_content_type (ODR o, Z_HTTP_Header **hp, const char *content_type, const char *charset) |
| void | z_HTTP_header_add_basic_auth (ODR o, Z_HTTP_Header **hp, const char *username, const char *password) |
| void | z_HTTP_header_add (ODR o, Z_HTTP_Header **hp, const char *n, const char *v) |
| const char * | z_HTTP_header_lookup (const Z_HTTP_Header *hp, const char *n) |
| Z_GDU * | z_get_HTTP_Request (ODR o) |
| Z_GDU * | z_get_HTTP_Request_host_path (ODR odr, const char *host, const char *path) |
| Z_GDU * | z_get_HTTP_Response (ODR o, int code) |
| const char * | z_HTTP_errmsg (int code) |
| int | yaz_decode_http_response (ODR o, Z_HTTP_Response **hr_p) |
| int | yaz_decode_http_request (ODR o, Z_HTTP_Request **hr_p) |
| int | yaz_encode_http_response (ODR o, Z_HTTP_Response *hr) |
| int | yaz_encode_http_request (ODR o, Z_HTTP_Request *hr) |
Implements HTTP decoding.
Definition in file http.c.
| static int decode_headers_content | ( | ODR | o, | |
| int | off, | |||
| Z_HTTP_Header ** | headers, | |||
| char ** | content_buf, | |||
| int * | content_len | |||
| ) | [static] |
Definition at line 74 of file http.c.
References odr::buf, odr::error, Z_HTTP_Header::next, odr_malloc(), OHTTP, and odr::size.
Referenced by yaz_decode_http_request(), and yaz_decode_http_response().
| static void yaz_base64encode | ( | const char * | in, | |
| char * | out | |||
| ) | [static] |
Definition at line 31 of file http.c.
Referenced by z_HTTP_header_add_basic_auth().
| int yaz_decode_http_request | ( | ODR | o, | |
| Z_HTTP_Request ** | hr_p | |||
| ) |
Definition at line 407 of file http.c.
References odr::buf, Z_HTTP_Request::content_buf, Z_HTTP_Request::content_len, decode_headers_content(), odr::error, Z_HTTP_Request::headers, Z_HTTP_Request::method, odr_malloc(), OHTTP, Z_HTTP_Request::path, odr::size, and Z_HTTP_Request::version.
Referenced by z_GDU().
| int yaz_decode_http_response | ( | ODR | o, | |
| Z_HTTP_Response ** | hr_p | |||
| ) |
Definition at line 373 of file http.c.
References odr::buf, Z_HTTP_Response::code, Z_HTTP_Response::content_buf, Z_HTTP_Response::content_len, decode_headers_content(), odr::error, Z_HTTP_Response::headers, odr_malloc(), OHTTP, and Z_HTTP_Response::version.
Referenced by z_GDU().
| int yaz_encode_http_request | ( | ODR | o, | |
| Z_HTTP_Request * | hr | |||
| ) |
Definition at line 501 of file http.c.
References odr::buf, Z_HTTP_Request::content_buf, Z_HTTP_Request::content_len, odr::direction, Z_HTTP_Request::headers, Z_HTTP_Request::method, Z_HTTP_Header::name, Z_HTTP_Header::next, ODR_PRINT, odr_printf(), odr_write(), Z_HTTP_Request::path, odr::top, Z_HTTP_Header::value, Z_HTTP_Request::version, and z_HTTP_header_lookup().
Referenced by z_GDU().
| int yaz_encode_http_response | ( | ODR | o, | |
| Z_HTTP_Response * | hr | |||
| ) |
Definition at line 461 of file http.c.
References odr::buf, Z_HTTP_Response::code, Z_HTTP_Response::content_buf, Z_HTTP_Response::content_len, odr::direction, Z_HTTP_Response::headers, Z_HTTP_Header::name, Z_HTTP_Header::next, ODR_PRINT, odr_printf(), odr_write(), odr::top, Z_HTTP_Header::value, Z_HTTP_Response::version, z_HTTP_errmsg(), and z_HTTP_header_lookup().
Referenced by z_GDU().
Definition at line 265 of file http.c.
References Z_HTTP_Request::content_buf, Z_HTTP_Request::content_len, Z_HTTP_Request::headers, Z_GDU::HTTP_Request, Z_HTTP_Request::method, odr_malloc(), Z_HTTP_Request::path, Z_GDU::u, Z_HTTP_Request::version, Z_GDU::which, YAZ_VERSION, Z_GDU_HTTP_Request, and z_HTTP_header_add().
Referenced by get_HTTP_Request_url(), and z_get_HTTP_Request_host_path().
Definition at line 284 of file http.c.
References Z_HTTP_Request::headers, Z_GDU::HTTP_Request, odr_malloc(), odr_strdup(), Z_HTTP_Request::path, Z_GDU::u, z_get_HTTP_Request(), and z_HTTP_header_add().
Referenced by send_srw().
Definition at line 318 of file http.c.
References Z_HTTP_Response::code, Z_HTTP_Response::content_buf, Z_HTTP_Response::content_len, Z_HTTP_Response::headers, Z_GDU::HTTP_Response, odr_malloc(), Z_GDU::u, Z_HTTP_Response::version, Z_GDU::which, YAZ_VERSION, Z_GDU_HTTP_Response, z_HTTP_errmsg(), and z_HTTP_header_add().
Referenced by ir_read(), and process_http_request().
| const char* z_HTTP_errmsg | ( | int | code | ) |
Definition at line 357 of file http.c.
Referenced by yaz_encode_http_response(), z_get_HTTP_Response(), and ZOOM_connection_error_x().
| void z_HTTP_header_add | ( | ODR | o, | |
| Z_HTTP_Header ** | hp, | |||
| const char * | n, | |||
| const char * | v | |||
| ) |
Definition at line 245 of file http.c.
References Z_HTTP_Header::next, odr_malloc(), and odr_strdup().
Referenced by get_HTTP_Request_url(), process_http_request(), send_SRW_redirect(), yaz_sru_soap_encode(), z_get_HTTP_Request(), z_get_HTTP_Request_host_path(), z_get_HTTP_Response(), z_HTTP_header_add_basic_auth(), and z_HTTP_header_add_content_type().
| void z_HTTP_header_add_basic_auth | ( | ODR | o, | |
| Z_HTTP_Header ** | hp, | |||
| const char * | username, | |||
| const char * | password | |||
| ) |
Definition at line 226 of file http.c.
References odr_malloc(), yaz_base64encode(), and z_HTTP_header_add().
Referenced by send_SRW_redirect(), yaz_sru_get_encode(), yaz_sru_post_encode(), and yaz_sru_soap_encode().
| void z_HTTP_header_add_content_type | ( | ODR | o, | |
| Z_HTTP_Header ** | hp, | |||
| const char * | content_type, | |||
| const char * | charset | |||
| ) |
Definition at line 205 of file http.c.
References odr_malloc(), and z_HTTP_header_add().
Referenced by yaz_sru_get_encode(), yaz_sru_post_encode(), and yaz_sru_soap_encode().
| const char* z_HTTP_header_lookup | ( | const Z_HTTP_Header * | hp, | |
| const char * | n | |||
| ) |
Definition at line 256 of file http.c.
References Z_HTTP_Header::name, Z_HTTP_Header::next, Z_HTTP_Header::value, and yaz_matchstr().
Referenced by handle_http(), process_http_request(), yaz_encode_http_request(), yaz_encode_http_response(), yaz_sru_decode(), yaz_srw_check_content_type(), yaz_srw_decode(), and yaz_srw_decodeauth().
1.6.3