YAZ
5.34.0
|
Header for the Z_GDU (HTTP or Z39.50 package) More...
#include <yaz/z-core.h>
Go to the source code of this file.
Data Structures | |
struct | Z_HTTP_Header |
struct | Z_HTTP_Request |
struct | Z_HTTP_Response |
struct | Z_GDU |
Macros | |
#define | Z_GDU_Z3950 1 |
#define | Z_GDU_HTTP_Request 2 |
#define | Z_GDU_HTTP_Response 3 |
Typedefs | |
typedef struct Z_HTTP_Header | Z_HTTP_Header |
Functions | |
int | z_GDU (ODR o, Z_GDU **p, int opt, const char *name) |
void | z_HTTP_header_add (ODR o, Z_HTTP_Header **hp, const char *n, const char *v) |
void | z_HTTP_header_set (ODR o, Z_HTTP_Header **hp, const char *n, const char *v) |
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) |
const char * | z_HTTP_header_lookup (const Z_HTTP_Header *hp, const char *n) |
const char * | z_HTTP_header_remove (Z_HTTP_Header **hp, const char *n) |
const char * | z_HTTP_errmsg (int code) |
Z_GDU * | z_get_HTTP_Response (ODR o, int code) |
Z_GDU * | z_get_HTTP_Response_details (ODR o, int code, const char *details) |
Z_GDU * | z_get_HTTP_Response_server (ODR o, int code, const char *details, const char *server, const char *server_url) |
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_Request_uri (ODR odr, const char *uri, const char *args, int use_full_uri) |
int | yaz_decode_http_request (ODR o, Z_HTTP_Request **hr_p) |
int | yaz_decode_http_response (ODR o, Z_HTTP_Response **hr_p) |
int | yaz_encode_http_response (ODR o, Z_HTTP_Response *hr) |
int | yaz_encode_http_request (ODR o, Z_HTTP_Request *hr) |
const char * | yaz_check_location (ODR odr, const char *uri, const char *location, int *host_change) |
typedef struct Z_HTTP_Header Z_HTTP_Header |
const char* yaz_check_location | ( | ODR | odr, |
const char * | uri, | ||
const char * | location, | ||
int * | host_change | ||
) |
Definition at line 659 of file http.c.
References cs_get_host_args(), and odr_malloc().
Referenced by handle_http(), and yaz_url_exec().
int yaz_decode_http_request | ( | ODR | o, |
Z_HTTP_Request ** | hr_p | ||
) |
Definition at line 505 of file http.c.
References Odr_private::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(), odr_strdupn(), OHTTP, odr::op, Z_HTTP_Request::path, Odr_private::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 472 of file http.c.
References Odr_private::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(), odr_strdupn(), OHTTP, odr::op, Odr_private::size, and Z_HTTP_Response::version.
Referenced by z_GDU().
int yaz_encode_http_request | ( | ODR | o, |
Z_HTTP_Request * | hr | ||
) |
Definition at line 616 of file http.c.
References Odr_private::buf, Z_HTTP_Request::content_buf, Z_HTTP_Request::content_len, odr::direction, dump_http_package(), Z_HTTP_Request::headers, Z_HTTP_Request::method, Z_HTTP_Header::name, Z_HTTP_Header::next, ODR_PRINT, odr_printf(), odr_write(), odr::op, Z_HTTP_Request::path, Odr_private::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 580 of file http.c.
References Odr_private::buf, Z_HTTP_Response::code, Z_HTTP_Response::content_buf, Z_HTTP_Response::content_len, odr::direction, dump_http_package(), Z_HTTP_Response::headers, Z_HTTP_Header::name, Z_HTTP_Header::next, ODR_PRINT, odr_printf(), odr_write(), odr::op, Odr_private::top, Z_HTTP_Header::value, Z_HTTP_Response::version, yaz_strcasecmp(), and z_HTTP_errmsg().
Referenced by z_GDU().
Definition at line 17 of file zgdu.c.
References Odr_private::buf, odr::direction, ODR_DECODE, odr_malloc(), odr::op, opt, Odr_private::size, yaz_decode_http_request(), yaz_decode_http_response(), yaz_encode_http_request(), yaz_encode_http_response(), z_APDU(), Z_GDU_HTTP_Request, Z_GDU_HTTP_Response, and Z_GDU_Z3950.
Referenced by do_read(), ir_read(), process_gdu_response(), yaz_url_exec(), and ZOOM_send_GDU().
Definition at line 242 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 z_get_HTTP_Request_host_path(), and z_get_HTTP_Request_uri().
Definition at line 261 of file http.c.
References Z_HTTP_Request::headers, Z_GDU::HTTP_Request, odr_strdup(), odr_strdupn(), Z_HTTP_Request::path, Z_GDU::u, z_get_HTTP_Request(), and z_HTTP_header_add().
Definition at line 291 of file http.c.
References Z_HTTP_Request::headers, Z_GDU::HTTP_Request, odr_malloc(), odr_strdupn(), Z_HTTP_Request::path, Z_GDU::u, z_get_HTTP_Request(), and z_HTTP_header_add().
Referenced by send_HTTP_redirect(), send_srw(), and yaz_url_exec().
Definition at line 384 of file http.c.
References z_get_HTTP_Response_details().
Referenced by ir_read(), and process_http_request().
Definition at line 378 of file http.c.
References YAZ_VERSION, and z_get_HTTP_Response_server().
Referenced by z_get_HTTP_Response().
Z_GDU* z_get_HTTP_Response_server | ( | ODR | o, |
int | code, | ||
const char * | details, | ||
const char * | server, | ||
const char * | server_url | ||
) |
Definition at line 331 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, Z_GDU_HTTP_Response, z_HTTP_errmsg(), and z_HTTP_header_add().
Referenced by z_get_HTTP_Response_details().
const char* z_HTTP_errmsg | ( | int | code | ) |
Definition at line 389 of file http.c.
Referenced by yaz_encode_http_response(), z_get_HTTP_Response_server(), 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 189 of file http.c.
References Z_HTTP_Header::next, odr_malloc(), and odr_strdup().
Referenced by process_http_request(), send_HTTP_redirect(), yaz_cookies_request(), yaz_sru_soap_encode(), yaz_url_exec(), z_get_HTTP_Request(), z_get_HTTP_Request_host_path(), z_get_HTTP_Request_uri(), z_get_HTTP_Response_server(), 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 168 of file http.c.
References odr_malloc(), yaz_base64encode(), and z_HTTP_header_set().
Referenced by send_HTTP_redirect(), yaz_solr_encode_request(), yaz_sru_get_encode(), yaz_sru_post_encode(), yaz_sru_soap_encode(), and yaz_url_exec().
void z_HTTP_header_add_content_type | ( | ODR | o, |
Z_HTTP_Header ** | hp, | ||
const char * | content_type, | ||
const char * | charset | ||
) |
Definition at line 147 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 233 of file http.c.
References Z_HTTP_Header::name, Z_HTTP_Header::next, Z_HTTP_Header::value, and yaz_strcasecmp().
Referenced by handle_http(), process_http_request(), rdf_lookup_node(), srw_bend_init(), yaz_encode_http_request(), yaz_sru_decode(), yaz_srw_check_content_type(), yaz_srw_decode(), yaz_srw_decodeauth(), and yaz_url_exec().
const char* z_HTTP_header_remove | ( | Z_HTTP_Header ** | hp, |
const char * | n | ||
) |
Definition at line 218 of file http.c.
References Z_HTTP_Header::next, and yaz_strcasecmp().
void z_HTTP_header_set | ( | ODR | o, |
Z_HTTP_Header ** | hp, | ||
const char * | n, | ||
const char * | v | ||
) |
Definition at line 200 of file http.c.
References Z_HTTP_Header::next, odr_malloc(), odr_strdup(), and yaz_strcasecmp().
Referenced by yaz_url_exec(), and z_HTTP_header_add_basic_auth().