# Request API Structure

> The MCO EWS HTTP request structure used by `mcorest_api_status_*()` functions is defined in file `include/ws/mcohttp.h` as follows:

>         typedef struct tag_mcohs_request
>         {
>             #ifdef MCO_TRANSPORT_LAYER_EXT_INFO
>                 mcohs_tlc_addr_h	intf_addr;         /* extra information from transport layer*/
>                 mcohs_tlc_addr_h	peer_addr;         /* extra information from transport layer*/
>             #endif /* MCO_TRANSPORT_LAYER_EXT_INFO */

>             char* 			method;            /* HTTP request method (GET, POST,...)*/
>             char* 			URL;
>             char* 			ver;               /* HTTP protocol version*/
>             unsigned int		content_length;    /* length of optional content*/
>             char* 			attrs;             /* request's attributes. */

>             /* Use mcohs_get_attr(...) and mcohs_get_next_attr(...) */
>             /* routines to deal with this values.*/
>             void                  * intf_param;        /* 'param' field value of a interface structure*/
>             void                  * connection_param;  /* 'param' field value of a connection structure*/
>             void                  * internal;          /* Don't use this field*/

>             #ifdef MCO_HTTP_SESSION_SUPPORT
>                 mcohs_session_h		session;           /* application defined session handler*/
>             #endif /* MCO_HTTP_SESSION_SUPPORT */

>             #ifdef MCO_HTTP_BASIC_AUTH
>                 char*			auth_type;         /* authorization type*/
>                 char*			auth_user_name;    /* user's name */
>                 char*			auth_user_password;/* user's password*/
>             #endif /* MCO_HTTP_BASIC_AUTH */

>         } mcohs_request_t,  *mcohs_request_h;