gwenhywfar 4.0.3
|
Contructor/Destructor | |
GWENHYWFAR_API GWEN_HTTP_SESSION * | GWEN_HttpSession_new (const char *url, const char *defaultProto, int defaultPort) |
GWENHYWFAR_API void | GWEN_HttpSession_Attach (GWEN_HTTP_SESSION *sess) |
GWENHYWFAR_API void | GWEN_HttpSession_free (GWEN_HTTP_SESSION *sess) |
HTTP Setup Functions | |
Functions of this groups should be called before GWEN_HttpSession_Init because the information conveyed via these functions is needed upon initialisation. | |
GWENHYWFAR_API uint32_t | GWEN_HttpSession_GetFlags (const GWEN_HTTP_SESSION *sess) |
GWENHYWFAR_API void | GWEN_HttpSession_SetFlags (GWEN_HTTP_SESSION *sess, uint32_t fl) |
GWENHYWFAR_API void | GWEN_HttpSession_AddFlags (GWEN_HTTP_SESSION *sess, uint32_t fl) |
GWENHYWFAR_API void | GWEN_HttpSession_SubFlags (GWEN_HTTP_SESSION *sess, uint32_t fl) |
GWENHYWFAR_API const char * | GWEN_HttpSession_GetHttpUserAgent (const GWEN_HTTP_SESSION *sess) |
GWENHYWFAR_API void | GWEN_HttpSession_SetHttpUserAgent (GWEN_HTTP_SESSION *sess, const char *s) |
GWENHYWFAR_API const char * | GWEN_HttpSession_GetHttpContentType (const GWEN_HTTP_SESSION *sess) |
GWENHYWFAR_API void | GWEN_HttpSession_SetHttpContentType (GWEN_HTTP_SESSION *sess, const char *s) |
GWENHYWFAR_API int | GWEN_HttpSession_GetHttpVMajor (const GWEN_HTTP_SESSION *sess) |
GWENHYWFAR_API void | GWEN_HttpSession_SetHttpVMajor (GWEN_HTTP_SESSION *sess, int i) |
GWENHYWFAR_API int | GWEN_HttpSession_GetHttpVMinor (const GWEN_HTTP_SESSION *sess) |
GWENHYWFAR_API void | GWEN_HttpSession_SetHttpVMinor (GWEN_HTTP_SESSION *sess, int i) |
Initialisation and Deinitialisation | |
GWENHYWFAR_API int | GWEN_HttpSession_Init (GWEN_HTTP_SESSION *sess) |
GWENHYWFAR_API int | GWEN_HttpSession_Fini (GWEN_HTTP_SESSION *sess) |
Sending and Receiving | |
GWENHYWFAR_API int | GWEN_HttpSession_SendPacket (GWEN_HTTP_SESSION *sess, const char *httpCommand, const uint8_t *buf, uint32_t blen) |
GWENHYWFAR_API int | GWEN_HttpSession_RecvPacket (GWEN_HTTP_SESSION *sess, GWEN_BUFFER *buf) |
GWENHYWFAR_API int | GWEN_HttpSession_ConnectionTest (GWEN_HTTP_SESSION *sess) |
This module provides support for exchanging a HTTP(s) request.
GWENHYWFAR_API void GWEN_HttpSession_AddFlags | ( | GWEN_HTTP_SESSION * | sess, |
uint32_t | fl | ||
) |
Definition at line 100 of file httpsession.c.
Referenced by GWEN_HttpSession_ConnectionTest(), and GWEN_HttpSession_SendPacket().
GWENHYWFAR_API void GWEN_HttpSession_Attach | ( | GWEN_HTTP_SESSION * | sess | ) |
Definition at line 54 of file httpsession.c.
GWENHYWFAR_API int GWEN_HttpSession_ConnectionTest | ( | GWEN_HTTP_SESSION * | sess | ) |
Test-connect to the server. This function can be used to retrieve the SSL certificate from a server as the cert exchange is part of the establishing of a connection. This function connects to the server and immediately disconnects.
Definition at line 483 of file httpsession.c.
References DBG_INFO, DBG_NOTICE, GWEN_ERROR_SSL, GWEN_Gui_ProgressLog(), GWEN_HTTP_SESSION_FLAGS_FORCE_SSL3, GWEN_HttpSession_AddFlags(), GWEN_HttpSession_SubFlags(), GWEN_LOGDOMAIN, GWEN_LoggerLevel_Error, GWEN_LoggerLevel_Info, GWEN_LoggerLevel_Notice, GWEN_SyncIo_AddFlags(), GWEN_SyncIo_Connect(), GWEN_SyncIo_Disconnect(), GWEN_SyncIo_GetBaseIoByTypeName(), GWEN_SyncIo_SubFlags(), GWEN_SYNCIO_TLS_FLAGS_FORCE_SSL_V3, GWEN_SYNCIO_TLS_TYPE, and I18N.
GWENHYWFAR_API int GWEN_HttpSession_Fini | ( | GWEN_HTTP_SESSION * | sess | ) |
Definition at line 259 of file httpsession.c.
References GWEN_SyncIo_Disconnect(), GWEN_SyncIo_free(), and NULL.
GWENHYWFAR_API void GWEN_HttpSession_free | ( | GWEN_HTTP_SESSION * | sess | ) |
Definition at line 62 of file httpsession.c.
References GWEN_FREE_OBJECT, GWEN_INHERIT_FINI, and GWEN_SyncIo_free().
GWENHYWFAR_API uint32_t GWEN_HttpSession_GetFlags | ( | const GWEN_HTTP_SESSION * | sess | ) |
Definition at line 82 of file httpsession.c.
GWENHYWFAR_API const char* GWEN_HttpSession_GetHttpContentType | ( | const GWEN_HTTP_SESSION * | sess | ) |
Definition at line 140 of file httpsession.c.
GWENHYWFAR_API const char* GWEN_HttpSession_GetHttpUserAgent | ( | const GWEN_HTTP_SESSION * | sess | ) |
Definition at line 118 of file httpsession.c.
GWENHYWFAR_API int GWEN_HttpSession_GetHttpVMajor | ( | const GWEN_HTTP_SESSION * | sess | ) |
Definition at line 162 of file httpsession.c.
GWENHYWFAR_API int GWEN_HttpSession_GetHttpVMinor | ( | const GWEN_HTTP_SESSION * | sess | ) |
Definition at line 180 of file httpsession.c.
GWENHYWFAR_API int GWEN_HttpSession_Init | ( | GWEN_HTTP_SESSION * | sess | ) |
Definition at line 201 of file httpsession.c.
References DBG_ERROR, DBG_INFO, GWEN_DB_FLAGS_OVERWRITE_VARS, GWEN_DB_SetCharValue(), GWEN_DB_SetIntValue(), GWEN_ERROR_INVALID, GWEN_Gui_GetSyncIo(), GWEN_HTTP_SESSION_FLAGS_FORCE_SSL3, GWEN_HTTP_SESSION_FLAGS_NO_CACHE, GWEN_LOGDOMAIN, GWEN_SyncIo_AddFlags(), GWEN_SyncIo_free(), GWEN_SyncIo_GetBaseIoByTypeName(), GWEN_SyncIo_GetTypeName(), GWEN_SyncIo_Http_GetDbHeaderOut(), GWEN_SYNCIO_HTTP_TYPE, GWEN_SYNCIO_TLS_FLAGS_ADD_TRUSTED_CAS, GWEN_SYNCIO_TLS_FLAGS_ALLOW_V1_CA_CRT, GWEN_SYNCIO_TLS_FLAGS_FORCE_SSL_V3, and GWEN_SYNCIO_TLS_TYPE.
GWENHYWFAR_API GWEN_HTTP_SESSION* GWEN_HttpSession_new | ( | const char * | url, |
const char * | defaultProto, | ||
int | defaultPort | ||
) |
Definition at line 36 of file httpsession.c.
References GWEN_INHERIT_INIT, and GWEN_NEW_OBJECT.
GWENHYWFAR_API int GWEN_HttpSession_RecvPacket | ( | GWEN_HTTP_SESSION * | sess, |
GWEN_BUFFER * | buf | ||
) |
This function receives a response packet from the server and closes the connection. It expects the connection to be established by GWEN_HttpSession_SendPacket().
Definition at line 441 of file httpsession.c.
References DBG_INFO, GWEN_Buffer_Crop(), GWEN_Buffer_GetPos(), GWEN_Gui_ProgressLog(), GWEN_HttpSession__RecvPacket(), GWEN_LOGDOMAIN, GWEN_LoggerLevel_Info, GWEN_SyncIo_Disconnect(), and I18N.
GWENHYWFAR_API int GWEN_HttpSession_SendPacket | ( | GWEN_HTTP_SESSION * | sess, |
const char * | httpCommand, | ||
const uint8_t * | buf, | ||
uint32_t | blen | ||
) |
This function connects to the server and then sends the given message. The buffer given as argument to this function must only contain the raw data (i.e. the HTTP body, no header).
sess | http session object |
httpCommand | HTTP command to send (e.g. "GET", "POST") |
buf | pointer to the http body data to send |
blen | size of the http body data to send (might be 0) |
Definition at line 274 of file httpsession.c.
References DBG_INFO, DBG_NOTICE, GWEN_DB_FLAGS_OVERWRITE_VARS, GWEN_DB_SetCharValue(), GWEN_DB_SetIntValue(), GWEN_ERROR_SSL, GWEN_Gui_ProgressLog(), GWEN_Gui_ProgressLog2(), GWEN_HTTP_SESSION_FLAGS_FORCE_SSL3, GWEN_HttpSession_AddFlags(), GWEN_HttpSession_SubFlags(), GWEN_LOGDOMAIN, GWEN_LoggerLevel_Error, GWEN_LoggerLevel_Info, GWEN_LoggerLevel_Notice, GWEN_SyncIo_AddFlags(), GWEN_SyncIo_Connect(), GWEN_SyncIo_Disconnect(), GWEN_SyncIo_GetBaseIoByTypeName(), GWEN_SyncIo_Http_GetDbCommandOut(), GWEN_SyncIo_Http_GetDbHeaderOut(), GWEN_SyncIo_SubFlags(), GWEN_SYNCIO_TLS_FLAGS_FORCE_SSL_V3, GWEN_SYNCIO_TLS_TYPE, GWEN_SyncIo_WriteForced(), and I18N.
GWENHYWFAR_API void GWEN_HttpSession_SetFlags | ( | GWEN_HTTP_SESSION * | sess, |
uint32_t | fl | ||
) |
Definition at line 91 of file httpsession.c.
GWENHYWFAR_API void GWEN_HttpSession_SetHttpContentType | ( | GWEN_HTTP_SESSION * | sess, |
const char * | s | ||
) |
Definition at line 149 of file httpsession.c.
References NULL.
GWENHYWFAR_API void GWEN_HttpSession_SetHttpUserAgent | ( | GWEN_HTTP_SESSION * | sess, |
const char * | s | ||
) |
Definition at line 127 of file httpsession.c.
References NULL.
GWENHYWFAR_API void GWEN_HttpSession_SetHttpVMajor | ( | GWEN_HTTP_SESSION * | sess, |
int | i | ||
) |
Definition at line 171 of file httpsession.c.
GWENHYWFAR_API void GWEN_HttpSession_SetHttpVMinor | ( | GWEN_HTTP_SESSION * | sess, |
int | i | ||
) |
Definition at line 189 of file httpsession.c.
GWENHYWFAR_API void GWEN_HttpSession_SubFlags | ( | GWEN_HTTP_SESSION * | sess, |
uint32_t | fl | ||
) |
Definition at line 109 of file httpsession.c.
Referenced by GWEN_HttpSession_ConnectionTest(), and GWEN_HttpSession_SendPacket().