.TH "builtins/http/globus_xio_http.h" 3 "Thu Nov 10 2016" "Version 5.14" "globus_xio" \" -*- nroff -*- .ad l .nh .SH NAME builtins/http/globus_xio_http.h \- Globus XIO HTTP Driver Header\&. .SH SYNOPSIS .br .PP \fC#include 'globus_xio\&.h'\fP .br .SS "Data Structures" .in +1c .ti -1c .RI "struct \fBglobus_xio_http_header_t\fP" .br .RI "HTTP Header\&. " .in -1c .SS "Enumerations" .in +1c .ti -1c .RI "enum \fBglobus_xio_http_handle_cmd_t\fP { \fBGLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_HEADER\fP, \fBGLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_STATUS_CODE\fP, \fBGLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_REASON_PHRASE\fP, \fBGLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_HTTP_VERSION\fP, \fBGLOBUS_XIO_HTTP_HANDLE_SET_END_OF_ENTITY\fP }" .br .ti -1c .RI "enum \fBglobus_xio_http_attr_cmd_t\fP { \fBGLOBUS_XIO_HTTP_ATTR_SET_REQUEST_METHOD\fP, \fBGLOBUS_XIO_HTTP_ATTR_SET_REQUEST_HTTP_VERSION\fP, \fBGLOBUS_XIO_HTTP_ATTR_SET_REQUEST_HEADER\fP, \fBGLOBUS_XIO_HTTP_ATTR_DELAY_WRITE_HEADER\fP, \fBGLOBUS_XIO_HTTP_GET_REQUEST\fP, \fBGLOBUS_XIO_HTTP_GET_RESPONSE\fP }" .br .ti -1c .RI "enum \fBglobus_xio_http_errors_t\fP { \fBGLOBUS_XIO_HTTP_ERROR_INVALID_HEADER\fP, \fBGLOBUS_XIO_HTTP_ERROR_PARSE\fP, \fBGLOBUS_XIO_HTTP_ERROR_NO_ENTITY\fP, \fBGLOBUS_XIO_HTTP_ERROR_EOF\fP, \fBGLOBUS_XIO_HTTP_ERROR_PERSISTENT_CONNECTION_DROPPED\fP }" .br .ti -1c .RI "enum \fBglobus_xio_http_version_t\fP { , \fBGLOBUS_XIO_HTTP_VERSION_1_0\fP, \fBGLOBUS_XIO_HTTP_VERSION_1_1\fP }" .br .in -1c .SS "Functions" .in +1c .ti -1c .RI "globus_result_t \fBglobus_xio_handle_cntl\fP (handle, driver, \fBGLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_HEADER\fP, const char *header_name, const char *header_value)" .br .ti -1c .RI "globus_result_t \fBglobus_xio_handle_cntl\fP (handle, driver, \fBGLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_STATUS_CODE\fP, int status)" .br .ti -1c .RI "globus_result_t \fBglobus_xio_handle_cntl\fP (handle, driver, \fBGLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_REASON_PHRASE\fP, const char *reason)" .br .ti -1c .RI "globus_result_t \fBglobus_xio_handle_cntl\fP (handle, driver, \fBGLOBUS_XIO_HTTP_HANDLE_SET_RESPONSE_HTTP_VERSION\fP, \fBglobus_xio_http_version_t\fP version)" .br .ti -1c .RI "globus_result_t \fBglobus_xio_handle_cntl\fP (handle, driver, \fBGLOBUS_XIO_HTTP_HANDLE_SET_END_OF_ENTITY\fP)" .br .ti -1c .RI "globus_result_t \fBglobus_xio_attr_cntl\fP (attr, driver, \fBGLOBUS_XIO_HTTP_ATTR_SET_REQUEST_METHOD\fP, const char *method)" .br .ti -1c .RI "globus_result_t \fBglobus_xio_attr_cntl\fP (attr, driver, \fBGLOBUS_XIO_HTTP_ATTR_SET_REQUEST_HTTP_VERSION\fP, \fBglobus_xio_http_version_t\fP version)" .br .ti -1c .RI "globus_result_t \fBglobus_xio_attr_cntl\fP (attr, driver, \fBGLOBUS_XIO_HTTP_ATTR_SET_REQUEST_HEADER\fP, const char *header_name, const char *header_value)" .br .ti -1c .RI "globus_result_t \fBglobus_xio_attr_cntl\fP (attr, driver, \fBGLOBUS_XIO_HTTP_ATTR_DELAY_WRITE_HEADER\fP)" .br .ti -1c .RI "globus_result_t \fBglobus_xio_data_descriptor_cntl\fP (dd, driver, \fBGLOBUS_XIO_HTTP_GET_REQUEST\fP, char **method, char **uri, \fBglobus_xio_http_version_t\fP *http_version, globus_hashtable_t *headers)" .br .ti -1c .RI "globus_result_t \fBglobus_xio_data_descriptor_cntl\fP (dd, driver, \fBGLOBUS_XIO_HTTP_GET_RESPONSE\fP, int *status_code, char **reason_phrase, \fBglobus_xio_http_version_t\fP *http_version, globus_hashtable_t *headers)" .br .in -1c .SH "Detailed Description" .PP Globus XIO HTTP Driver Header\&. .SH "Function Documentation" .PP .SS "globus_result_t globus_xio_attr_cntl (attr, driver, \fBGLOBUS_XIO_HTTP_ATTR_DELAY_WRITE_HEADER\fP)" This is an overloaded member function, provided for convenience\&. It differs from the above function only in what argument(s) it accepts\&. Delay writing HTTP request until first data write\&. .PP If this attribute is present when opening an HTTP handle, the HTTP request will not be sent immediately upon opening the handle\&. Instead, it will be delayed until the first data write is done\&. This allows other HTTP headers to be sent after the handle is opened\&. .PP This attribute cntl takes no arguments\&. .SS "globus_result_t globus_xio_data_descriptor_cntl (dd, driver, \fBGLOBUS_XIO_HTTP_GET_REQUEST\fP, char ** method, char ** uri, \fBglobus_xio_http_version_t\fP * http_version, globus_hashtable_t * headers)" This is an overloaded member function, provided for convenience\&. It differs from the above function only in what argument(s) it accepts\&. Get HTTP Request Information\&. .PP Returns in the passed parameters values concerning the HTTP request\&. Any of the parameters may be NULL if the application is not interested in that part of the information\&. .PP \fBParameters:\fP .RS 4 \fImethod\fP Pointer to be set to the HTTP request method (typically GET, PUT, or POST)\&. The caller must not access this value outside of the lifetime of the data descriptor nor free it\&. .br \fIuri\fP Pointer to be set to the requested HTTP path\&. The caller must not access this value outside of the lifetime of the data descriptor nor free it\&. .br \fIhttp_version\fP Pointer to be set to the HTTP version used for this request\&. .br \fIheaders\fP Pointer to be set to point to a hashtable of \fBglobus_xio_http_header_t\fP values, keyed by the HTTP header names\&. The caller must not access this value outside of the lifetime of the data descriptor nor free it or any values in it\&. .RE .PP .SS "globus_result_t globus_xio_data_descriptor_cntl (dd, driver, \fBGLOBUS_XIO_HTTP_GET_RESPONSE\fP, int * status_code, char ** reason_phrase, \fBglobus_xio_http_version_t\fP * http_version, globus_hashtable_t * headers)" This is an overloaded member function, provided for convenience\&. It differs from the above function only in what argument(s) it accepts\&. Get HTTP Response Information .PP Returns in the passed parameters values concerning the HTTP response\&. Any of the parameters may be NULL if the application is not interested in that part of the information\&. .PP \fBParameters:\fP .RS 4 \fIstatus_code\fP Pointer to be set to the HTTP response status code (such as 404), as per RFC 2616\&. The caller must not access this value outside of the lifetime of the data descriptor nor free it or any values in it\&. .br \fIreason_phrase\fP Pointer to be set to the HTTP response reason phrase (such as Not Found)\&. The caller must not access this value outside of the lifetime of the data descriptor nor free it or any values in it\&. .br \fIhttp_version\fP Pointer to be set to the HTTP version used for this request\&. .br \fIheaders\fP Pointer to be set to point to a hashtable of \fBglobus_xio_http_header_t\fP values, keyed by the HTTP header names\&. The caller must not access this value outside of the lifetime of the data descriptor nor free it or any values in it\&. .RE .PP .SH "Author" .PP Generated automatically by Doxygen for globus_xio from the source code\&.