gwenhywfar
5.4.1
|
Contructor/Destructor | |
GWENHYWFAR_API GWEN_HTTP_SESSION * | GWEN_HttpSession_new (const char *url, const char *defaultProto, int defaultPort) |
GWENHYWFAR_API GWEN_HTTP_SESSION * | GWEN_HttpSession_fromSocketPassive (GWEN_SOCKET *sk, const char *proto, int port) |
GWENHYWFAR_API GWEN_HTTP_SESSION * | GWEN_HttpSession_fromSyncIoPassive (GWEN_SYNCIO *sio) |
GWENHYWFAR_API void | GWEN_HttpSession_Attach (GWEN_HTTP_SESSION *sess) |
GWENHYWFAR_API void | GWEN_HttpSession_free (GWEN_HTTP_SESSION *sess) |
Initialisation and Deinitialisation | |
GWENHYWFAR_API int | GWEN_HttpSession_Init (GWEN_HTTP_SESSION *sess) |
GWENHYWFAR_API int | GWEN_HttpSession_Fini (GWEN_HTTP_SESSION *sess) |
Client: 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) |
Server: Sending and Receiving | |
GWENHYWFAR_API int | GWEN_HttpSession_RecvCommand (GWEN_HTTP_SESSION *sess, GWEN_DB_NODE *dbCommandAndHeader, GWEN_BUFFER *buf) |
GWENHYWFAR_API int | GWEN_HttpSession_SendStatus (GWEN_HTTP_SESSION *sess, int resultCode, const char *resultText, const uint8_t *buf, uint32_t blen) |
SyncIO Initialisation | |
After creating a connection layer (consisting of a chain of GWEN_SYNCIO's) this callback is called. AqBanking uses it to set the TLS-cert-checking callback for the TLS syncio part (GWEN_SyncIo_Tls_SetCheckCertFn), so whenever a TLS connection is established and a certificate received, that function is called. | |
typedef int GWENHYWFAR_CB(* | GWEN_HTTPSESSION_INITSYNCIO_FN) (GWEN_HTTP_SESSION *sess, GWEN_SYNCIO *sio) |
GWENHYWFAR_API GWEN_HTTPSESSION_INITSYNCIO_FN | GWEN_HttpSession_SetInitSyncIoFn (GWEN_HTTP_SESSION *sess, GWEN_HTTPSESSION_INITSYNCIO_FN f) |
This module provides support for exchanging a HTTP(s) request.
typedef int GWENHYWFAR_CB(* GWEN_HTTPSESSION_INITSYNCIO_FN) (GWEN_HTTP_SESSION *sess, GWEN_SYNCIO *sio) |
Definition at line 270 of file httpsession.h.
GWENHYWFAR_API void GWEN_HttpSession_AddFlags | ( | GWEN_HTTP_SESSION * | sess, |
uint32_t | fl | ||
) |
GWENHYWFAR_API void GWEN_HttpSession_Attach | ( | GWEN_HTTP_SESSION * | sess | ) |
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.
GWENHYWFAR_API int GWEN_HttpSession_Fini | ( | GWEN_HTTP_SESSION * | sess | ) |
GWENHYWFAR_API void GWEN_HttpSession_free | ( | GWEN_HTTP_SESSION * | sess | ) |
GWENHYWFAR_API GWEN_HTTP_SESSION* GWEN_HttpSession_fromSocketPassive | ( | GWEN_SOCKET * | sk, |
const char * | proto, | ||
int | port | ||
) |
Create a server HTTP session using the given socket.
The caller is responsible for freeing the object returned (if any).
sk | socket (received via GWEN_Socket_Accept), taken over |
proto | protocol used by this server session (either "http" or "https") |
port | port used by this server session (in ost cases 80 for HTTP, 443 for HTTPS) |
GWENHYWFAR_API GWEN_HTTP_SESSION* GWEN_HttpSession_fromSyncIoPassive | ( | GWEN_SYNCIO * | sio | ) |
Create a server HTTP session using the given syncio.
The caller is responsible for freeing the object returned (if any).
sio | synIo object, taken over |
GWENHYWFAR_API uint32_t GWEN_HttpSession_GetFlags | ( | const GWEN_HTTP_SESSION * | sess | ) |
GWENHYWFAR_API const char* GWEN_HttpSession_GetHttpContentType | ( | const GWEN_HTTP_SESSION * | sess | ) |
GWENHYWFAR_API const char* GWEN_HttpSession_GetHttpUserAgent | ( | const GWEN_HTTP_SESSION * | sess | ) |
GWENHYWFAR_API int GWEN_HttpSession_GetHttpVMajor | ( | const GWEN_HTTP_SESSION * | sess | ) |
GWENHYWFAR_API int GWEN_HttpSession_GetHttpVMinor | ( | const GWEN_HTTP_SESSION * | sess | ) |
GWENHYWFAR_API int GWEN_HttpSession_Init | ( | GWEN_HTTP_SESSION * | sess | ) |
GWENHYWFAR_API GWEN_HTTP_SESSION* GWEN_HttpSession_new | ( | const char * | url, |
const char * | defaultProto, | ||
int | defaultPort | ||
) |
Create a client HTTP session (i.e. used to connect to a server).
The caller is responsible for freeing the object returned (if any).
url | URL of the server to connect to later |
defaultProto | default protocol if not specified by the given url (e.g. "https") |
defaultPort | default TCP port if not specified by the given url |
GWENHYWFAR_API int GWEN_HttpSession_RecvCommand | ( | GWEN_HTTP_SESSION * | sess, |
GWEN_DB_NODE * | dbCommandAndHeader, | ||
GWEN_BUFFER * | buf | ||
) |
This function receives a command packet from a client.
sess | pointer to session object |
dbCommandAndHeader | on currect receiption a subgroup "command" is created which contains the command parameters receives and a subgroup "header" is created which contains the last HTTP header received |
buf | buffer to receive possible HTTP body data |
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().
GWENHYWFAR_API int GWEN_HttpSession_RecvPacketToFile | ( | GWEN_HTTP_SESSION * | sess, |
const char * | fname | ||
) |
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) |
GWENHYWFAR_API int GWEN_HttpSession_SendStatus | ( | GWEN_HTTP_SESSION * | sess, |
int | resultCode, | ||
const char * | resultText, | ||
const uint8_t * | buf, | ||
uint32_t | blen | ||
) |
This function sends the given response (only usable in PASSIVE mode, i.e. server mode) and closes the connection. 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 |
resultCode | HTTP result code to send |
resultText | HTTP result text to send |
buf | pointer to the http body data to send |
blen | size of the http body data to send (might be 0) |
GWENHYWFAR_API void GWEN_HttpSession_SetFlags | ( | GWEN_HTTP_SESSION * | sess, |
uint32_t | fl | ||
) |
GWENHYWFAR_API void GWEN_HttpSession_SetHttpContentType | ( | GWEN_HTTP_SESSION * | sess, |
const char * | s | ||
) |
GWENHYWFAR_API void GWEN_HttpSession_SetHttpUserAgent | ( | GWEN_HTTP_SESSION * | sess, |
const char * | s | ||
) |
GWENHYWFAR_API void GWEN_HttpSession_SetHttpVMajor | ( | GWEN_HTTP_SESSION * | sess, |
int | i | ||
) |
GWENHYWFAR_API void GWEN_HttpSession_SetHttpVMinor | ( | GWEN_HTTP_SESSION * | sess, |
int | i | ||
) |
GWENHYWFAR_API GWEN_HTTPSESSION_INITSYNCIO_FN GWEN_HttpSession_SetInitSyncIoFn | ( | GWEN_HTTP_SESSION * | sess, |
GWEN_HTTPSESSION_INITSYNCIO_FN | f | ||
) |
GWENHYWFAR_API void GWEN_HttpSession_SubFlags | ( | GWEN_HTTP_SESSION * | sess, |
uint32_t | fl | ||
) |