gwenhywfar  4.20.0
HTTP Session

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_RecvPacketToFile (GWEN_HTTP_SESSION *sess, const char *fname)
 
GWENHYWFAR_API int GWEN_HttpSession_ConnectionTest (GWEN_HTTP_SESSION *sess)
 

Detailed Description

This module provides support for exchanging a HTTP(s) request.

Function Documentation

◆ GWEN_HttpSession_AddFlags()

GWENHYWFAR_API void GWEN_HttpSession_AddFlags ( GWEN_HTTP_SESSION *  sess,
uint32_t  fl 
)

◆ GWEN_HttpSession_Attach()

GWENHYWFAR_API void GWEN_HttpSession_Attach ( GWEN_HTTP_SESSION *  sess)

◆ GWEN_HttpSession_ConnectionTest()

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.

◆ GWEN_HttpSession_Fini()

GWENHYWFAR_API int GWEN_HttpSession_Fini ( GWEN_HTTP_SESSION *  sess)

◆ GWEN_HttpSession_free()

GWENHYWFAR_API void GWEN_HttpSession_free ( GWEN_HTTP_SESSION *  sess)

◆ GWEN_HttpSession_GetFlags()

GWENHYWFAR_API uint32_t GWEN_HttpSession_GetFlags ( const GWEN_HTTP_SESSION *  sess)

◆ GWEN_HttpSession_GetHttpContentType()

GWENHYWFAR_API const char* GWEN_HttpSession_GetHttpContentType ( const GWEN_HTTP_SESSION *  sess)

◆ GWEN_HttpSession_GetHttpUserAgent()

GWENHYWFAR_API const char* GWEN_HttpSession_GetHttpUserAgent ( const GWEN_HTTP_SESSION *  sess)

◆ GWEN_HttpSession_GetHttpVMajor()

GWENHYWFAR_API int GWEN_HttpSession_GetHttpVMajor ( const GWEN_HTTP_SESSION *  sess)

◆ GWEN_HttpSession_GetHttpVMinor()

GWENHYWFAR_API int GWEN_HttpSession_GetHttpVMinor ( const GWEN_HTTP_SESSION *  sess)

◆ GWEN_HttpSession_Init()

GWENHYWFAR_API int GWEN_HttpSession_Init ( GWEN_HTTP_SESSION *  sess)

◆ GWEN_HttpSession_new()

GWENHYWFAR_API GWEN_HTTP_SESSION* GWEN_HttpSession_new ( const char *  url,
const char *  defaultProto,
int  defaultPort 
)

◆ GWEN_HttpSession_RecvPacket()

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().

◆ GWEN_HttpSession_RecvPacketToFile()

GWENHYWFAR_API int GWEN_HttpSession_RecvPacketToFile ( GWEN_HTTP_SESSION *  sess,
const char *  fname 
)

◆ GWEN_HttpSession_SendPacket()

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).

Parameters
sesshttp session object
httpCommandHTTP command to send (e.g. "GET", "POST")
bufpointer to the http body data to send
blensize of the http body data to send (might be 0)

◆ GWEN_HttpSession_SetFlags()

GWENHYWFAR_API void GWEN_HttpSession_SetFlags ( GWEN_HTTP_SESSION *  sess,
uint32_t  fl 
)

◆ GWEN_HttpSession_SetHttpContentType()

GWENHYWFAR_API void GWEN_HttpSession_SetHttpContentType ( GWEN_HTTP_SESSION *  sess,
const char *  s 
)

◆ GWEN_HttpSession_SetHttpUserAgent()

GWENHYWFAR_API void GWEN_HttpSession_SetHttpUserAgent ( GWEN_HTTP_SESSION *  sess,
const char *  s 
)

◆ GWEN_HttpSession_SetHttpVMajor()

GWENHYWFAR_API void GWEN_HttpSession_SetHttpVMajor ( GWEN_HTTP_SESSION *  sess,
int  i 
)

◆ GWEN_HttpSession_SetHttpVMinor()

GWENHYWFAR_API void GWEN_HttpSession_SetHttpVMinor ( GWEN_HTTP_SESSION *  sess,
int  i 
)

◆ GWEN_HttpSession_SubFlags()

GWENHYWFAR_API void GWEN_HttpSession_SubFlags ( GWEN_HTTP_SESSION *  sess,
uint32_t  fl 
)