#include "io_http_p.h"
#include <gwenhywfar/iolayer_be.h>
#include <gwenhywfar/iorequest_be.h>
#include <gwenhywfar/iomanager.h>
#include <gwenhywfar/io_buffered.h>
#include "i18n_l.h"
#include <gwenhywfar/misc.h>
#include <gwenhywfar/debug.h>
#include <gwenhywfar/gui.h>
#include <gwenhywfar/text.h>
#include <assert.h>
#include <ctype.h>
Go to the source code of this file.
void GWEN_Io_LayerHttp_AbortInRequests | ( | GWEN_IO_LAYER * | io, | |
int | errorCode | |||
) |
Definition at line 164 of file io_http.c.
References DBG_INFO, GWEN_INHERIT_GETDATA, GWEN_Io_Request_Finished(), GWEN_Io_Request_free(), GWEN_Io_Request_StatusFinished, GWEN_LOGDOMAIN, and NULL.
Referenced by GWEN_Io_LayerHttp_AddRequest().
void GWEN_Io_LayerHttp_AbortOutRequests | ( | GWEN_IO_LAYER * | io | ) |
Definition at line 193 of file io_http.c.
References GWEN_INHERIT_GETDATA, GWEN_Io_Layer_DelRequest(), GWEN_Io_Layer_GetBaseLayer(), GWEN_Io_Request_free(), and NULL.
Referenced by GWEN_Io_LayerHttp_AddRequest().
int GWEN_Io_LayerHttp_AddRequest | ( | GWEN_IO_LAYER * | io, | |
GWEN_IO_REQUEST * | r | |||
) |
Definition at line 1401 of file io_http.c.
References DBG_INFO, DBG_VERBOUS, GWEN_Buffer_GetBytesLeft(), GWEN_Buffer_GetUsedBytes(), GWEN_Buffer_Reset(), GWEN_Buffer_Rewind(), GWEN_DB_ClearGroup(), GWEN_DB_FLAGS_OVERWRITE_VARS, GWEN_DB_SetIntValue(), GWEN_ERROR_ABORTED, GWEN_ERROR_INVALID, GWEN_ERROR_NOT_OPEN, GWEN_ERROR_NOT_SUPPORTED, GWEN_ERROR_TRY_AGAIN, GWEN_INHERIT_GETDATA, GWEN_IO_LAYER_FLAGS_PASSIVE, GWEN_Io_Layer_GetFlags(), GWEN_Io_Layer_GetStatus(), GWEN_IO_LAYER_HTTP_FLAGS_IPC, GWEN_Io_Layer_SetStatus(), GWEN_Io_Layer_StatusConnected, GWEN_Io_Layer_StatusDisconnected, GWEN_Io_Layer_StatusUnconnected, GWEN_Io_LayerHttp_AbortInRequests(), GWEN_Io_LayerHttp_AbortOutRequests(), GWEN_Io_LayerHttp_WriteCommand(), GWEN_Io_LayerHttp_WriteHeader(), GWEN_Io_LayerHttp_WriteStatus(), GWEN_Io_Request_Attach(), GWEN_Io_Request_Finished(), GWEN_IO_REQUEST_FLAGS_FLUSH, GWEN_IO_REQUEST_FLAGS_PACKETBEGIN, GWEN_IO_REQUEST_FLAGS_PACKETEND, GWEN_Io_Request_GetBufferSize(), GWEN_Io_Request_GetFlags(), GWEN_Io_Request_GetType(), GWEN_Io_Request_StatusFinished, GWEN_Io_Request_TypeConnect, GWEN_Io_Request_TypeDisconnect, GWEN_Io_Request_TypeRead, GWEN_Io_Request_TypeWrite, GWEN_LOGDOMAIN, and NULL.
Referenced by GWEN_Io_LayerHttp_new().
int GWEN_Io_LayerHttp_DelRequest | ( | GWEN_IO_LAYER * | io, | |
GWEN_IO_REQUEST * | r | |||
) |
Definition at line 1613 of file io_http.c.
References DBG_DEBUG, DBG_INFO, GWEN_ERROR_ABORTED, GWEN_ERROR_INVALID, GWEN_INHERIT_GETDATA, GWEN_Io_Request_Finished(), GWEN_Io_Request_free(), GWEN_Io_Request_GetType(), GWEN_Io_Request_StatusFinished, GWEN_Io_Request_TypeRead, GWEN_Io_Request_TypeWrite, GWEN_LOGDOMAIN, and NULL.
Referenced by GWEN_Io_LayerHttp_new().
GWENHYWFAR_CB void GWEN_Io_LayerHttp_freeData | ( | void * | bp, | |
void * | p | |||
) |
Definition at line 73 of file io_http.c.
References GWEN_Buffer_free(), GWEN_DB_Group_free(), and GWEN_FREE_OBJECT.
Referenced by GWEN_Io_LayerHttp_new().
int GWEN_Io_LayerHttp_HasWaitingRequests | ( | GWEN_IO_LAYER * | io | ) |
Definition at line 1658 of file io_http.c.
References GWEN_INHERIT_GETDATA.
Referenced by GWEN_Io_LayerHttp_new().
int GWEN_Io_LayerHttp_ParseCommand | ( | GWEN_IO_LAYER * | io, | |
const char * | buffer | |||
) |
Definition at line 222 of file io_http.c.
References DBG_ERROR, DBG_INFO, GWEN_DB_FLAGS_OVERWRITE_VARS, GWEN_DB_SetCharValue(), GWEN_ERROR_INVALID, GWEN_INHERIT_GETDATA, GWEN_Io_Layer_GetFlags(), GWEN_IO_LAYER_HTTP_FLAGS_IPC, and GWEN_LOGDOMAIN.
Referenced by GWEN_Io_LayerHttp_WorkOnReadRequest1().
int GWEN_Io_LayerHttp_ParseHeader | ( | GWEN_IO_LAYER * | io, | |
char * | buf | |||
) |
Definition at line 339 of file io_http.c.
References DBG_INFO, GWEN_DB_GetCharValue(), GWEN_DB_GetIntValue(), GWEN_DB_SetCharValue(), GWEN_ERROR_BAD_DATA, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_PATH_FLAGS_CREATE_VAR, and GWEN_Text_ComparePattern().
Referenced by GWEN_Io_LayerHttp_WorkOnReadRequest1().
int GWEN_Io_LayerHttp_ParseStatus | ( | GWEN_IO_LAYER * | io, | |
const char * | buffer | |||
) |
Definition at line 287 of file io_http.c.
References DBG_ERROR, GWEN_DB_FLAGS_OVERWRITE_VARS, GWEN_DB_SetCharValue(), GWEN_DB_SetIntValue(), GWEN_ERROR_INVALID, GWEN_INHERIT_GETDATA, and GWEN_LOGDOMAIN.
Referenced by GWEN_Io_LayerHttp_WorkOnReadRequest1().
GWEN_IO_LAYER_WORKRESULT GWEN_Io_LayerHttp_WorkOnReadRequest | ( | GWEN_IO_LAYER * | io | ) |
Definition at line 1036 of file io_http.c.
References DBG_VERBOUS, GWEN_INHERIT_GETDATA, GWEN_Io_LayerHttp_WorkOnReadRequest1(), GWEN_Io_LayerHttp_WorkOnReadRequest2(), and GWEN_LOGDOMAIN.
Referenced by GWEN_Io_LayerHttp_WorkOnRequests().
GWEN_IO_LAYER_WORKRESULT GWEN_Io_LayerHttp_WorkOnReadRequest1 | ( | GWEN_IO_LAYER * | io | ) |
Definition at line 551 of file io_http.c.
References DBG_DEBUG, DBG_INFO, DBG_VERBOUS, GWEN_Buffer_AdjustUsedBytes(), GWEN_Buffer_AllocRoom(), GWEN_Buffer_AppendByte(), GWEN_Buffer_GetPosPointer(), GWEN_Buffer_GetStart(), GWEN_Buffer_GetUsedBytes(), GWEN_Buffer_IncrementPos(), GWEN_Buffer_Reset(), GWEN_ERROR_BAD_DATA, GWEN_ERROR_MEMORY_FULL, GWEN_ERROR_TRY_AGAIN, GWEN_INHERIT_GETDATA, GWEN_Io_Layer_AddRequest(), GWEN_Io_Layer_GetBaseLayer(), GWEN_Io_Layer_WorkResultBlocking, GWEN_Io_Layer_WorkResultOk, GWEN_Io_LayerHttp_ParseCommand(), GWEN_Io_LayerHttp_ParseHeader(), GWEN_Io_LayerHttp_ParseStatus(), GWEN_Io_Request_AddFlags(), GWEN_Io_Request_Finished(), GWEN_IO_REQUEST_FLAGS_PACKETEND, GWEN_Io_Request_free(), GWEN_Io_Request_GetBufferPos(), GWEN_Io_Request_GetFlags(), GWEN_Io_Request_GetGuiId(), GWEN_Io_Request_GetResultCode(), GWEN_Io_Request_GetStatus(), GWEN_Io_Request_new(), GWEN_Io_Request_StatusFinished, GWEN_Io_Request_TypeRead, GWEN_LOGDOMAIN, and NULL.
Referenced by GWEN_Io_LayerHttp_WorkOnReadRequest().
GWEN_IO_LAYER_WORKRESULT GWEN_Io_LayerHttp_WorkOnReadRequest2 | ( | GWEN_IO_LAYER * | io | ) |
Definition at line 840 of file io_http.c.
References DBG_DEBUG, DBG_INFO, DBG_VERBOUS, GWEN_Buffer_Reset(), GWEN_ERROR_BAD_SIZE, GWEN_ERROR_TRY_AGAIN, GWEN_INHERIT_GETDATA, GWEN_Io_Layer_AddRequest(), GWEN_Io_Layer_GetBaseLayer(), GWEN_Io_Layer_WorkResultBlocking, GWEN_Io_Layer_WorkResultOk, GWEN_Io_Request_AddFlags(), GWEN_IO_REQUEST_BUFFERED_FLAGS_RAW, GWEN_Io_Request_Finished(), GWEN_IO_REQUEST_FLAGS_PACKETEND, GWEN_IO_REQUEST_FLAGS_READALL, GWEN_Io_Request_free(), GWEN_Io_Request_GetBufferPos(), GWEN_Io_Request_GetBufferPtr(), GWEN_Io_Request_GetBufferSize(), GWEN_Io_Request_GetFlags(), GWEN_Io_Request_GetGuiId(), GWEN_Io_Request_GetResultCode(), GWEN_Io_Request_GetStatus(), GWEN_Io_Request_new(), GWEN_Io_Request_SetBufferPos(), GWEN_Io_Request_StatusFinished, GWEN_Io_Request_TypeRead, GWEN_LOGDOMAIN, and NULL.
Referenced by GWEN_Io_LayerHttp_WorkOnReadRequest().
GWEN_IO_LAYER_WORKRESULT GWEN_Io_LayerHttp_WorkOnRequests | ( | GWEN_IO_LAYER * | io | ) |
Definition at line 1351 of file io_http.c.
References GWEN_DB_AddGroupChildren(), GWEN_INHERIT_GETDATA, GWEN_Io_Layer_AddFlags(), GWEN_Io_Layer_AddIncomingLayer(), GWEN_IO_LAYER_FLAGS_PASSIVE, GWEN_Io_Layer_GetBaseLayer(), GWEN_Io_Layer_GetFlags(), GWEN_Io_Layer_GetNextIncomingLayer(), GWEN_Io_Layer_GetStatus(), GWEN_Io_Layer_StatusListening, GWEN_Io_Layer_WorkOnRequests(), GWEN_Io_Layer_WorkResultBlocking, GWEN_Io_Layer_WorkResultOk, GWEN_Io_LayerHttp_GetDbCommandOut(), GWEN_Io_LayerHttp_new(), GWEN_Io_LayerHttp_WorkOnReadRequest(), and GWEN_Io_LayerHttp_WorkOnWriteRequest().
Referenced by GWEN_Io_LayerHttp_new().
GWEN_IO_LAYER_WORKRESULT GWEN_Io_LayerHttp_WorkOnWriteRequest | ( | GWEN_IO_LAYER * | io | ) |
Definition at line 1325 of file io_http.c.
References DBG_VERBOUS, GWEN_INHERIT_GETDATA, GWEN_Io_LayerHttp_WorkOnWriteRequest1(), GWEN_Io_LayerHttp_WorkOnWriteRequest2(), and GWEN_LOGDOMAIN.
Referenced by GWEN_Io_LayerHttp_WorkOnRequests().
GWEN_IO_LAYER_WORKRESULT GWEN_Io_LayerHttp_WorkOnWriteRequest1 | ( | GWEN_IO_LAYER * | io | ) |
Definition at line 1063 of file io_http.c.
References DBG_INFO, DBG_VERBOUS, GWEN_Buffer_GetBytesLeft(), GWEN_Buffer_GetPosPointer(), GWEN_Buffer_IncrementPos(), GWEN_Buffer_Reset(), GWEN_ERROR_TRY_AGAIN, GWEN_INHERIT_GETDATA, GWEN_Io_Layer_AddRequest(), GWEN_Io_Layer_GetBaseLayer(), GWEN_Io_Layer_WorkResultBlocking, GWEN_Io_Layer_WorkResultOk, GWEN_Io_Request_AddFlags(), GWEN_IO_REQUEST_BUFFERED_FLAGS_RAW, GWEN_Io_Request_Finished(), GWEN_IO_REQUEST_FLAGS_FLUSH, GWEN_IO_REQUEST_FLAGS_WRITEALL, GWEN_Io_Request_free(), GWEN_Io_Request_GetBufferPos(), GWEN_Io_Request_GetFlags(), GWEN_Io_Request_GetGuiId(), GWEN_Io_Request_GetResultCode(), GWEN_Io_Request_GetStatus(), GWEN_Io_Request_new(), GWEN_Io_Request_StatusFinished, GWEN_Io_Request_TypeWrite, GWEN_LOGDOMAIN, and NULL.
Referenced by GWEN_Io_LayerHttp_WorkOnWriteRequest().
GWEN_IO_LAYER_WORKRESULT GWEN_Io_LayerHttp_WorkOnWriteRequest2 | ( | GWEN_IO_LAYER * | io | ) |
Definition at line 1167 of file io_http.c.
References DBG_INFO, DBG_VERBOUS, GWEN_ERROR_BAD_SIZE, GWEN_ERROR_TRY_AGAIN, GWEN_INHERIT_GETDATA, GWEN_Io_Layer_AddRequest(), GWEN_Io_Layer_GetBaseLayer(), GWEN_Io_Layer_WorkResultBlocking, GWEN_Io_Layer_WorkResultOk, GWEN_Io_Request_AddFlags(), GWEN_IO_REQUEST_BUFFERED_FLAGS_RAW, GWEN_Io_Request_Finished(), GWEN_IO_REQUEST_FLAGS_FLUSH, GWEN_IO_REQUEST_FLAGS_PACKETEND, GWEN_IO_REQUEST_FLAGS_WRITEALL, GWEN_Io_Request_free(), GWEN_Io_Request_GetBufferPos(), GWEN_Io_Request_GetBufferPtr(), GWEN_Io_Request_GetBufferSize(), GWEN_Io_Request_GetFlags(), GWEN_Io_Request_GetGuiId(), GWEN_Io_Request_GetResultCode(), GWEN_Io_Request_GetStatus(), GWEN_Io_Request_new(), GWEN_Io_Request_SetBufferPos(), GWEN_Io_Request_StatusFinished, GWEN_Io_Request_TypeWrite, GWEN_LOGDOMAIN, and NULL.
Referenced by GWEN_Io_LayerHttp_WorkOnWriteRequest().
int GWEN_Io_LayerHttp_WriteCommand | ( | GWEN_IO_LAYER * | io, | |
GWEN_BUFFER * | buf | |||
) |
Definition at line 432 of file io_http.c.
References GWEN_Buffer_AppendString(), GWEN_DB_GetCharValue(), and GWEN_INHERIT_GETDATA.
Referenced by GWEN_Io_LayerHttp_AddRequest().
int GWEN_Io_LayerHttp_WriteHeader | ( | GWEN_IO_LAYER * | io, | |
GWEN_BUFFER * | buf | |||
) |
Definition at line 488 of file io_http.c.
References DBG_INFO, GWEN_Buffer_AppendString(), GWEN_DB_GetCharValueFromNode(), GWEN_DB_GetFirstValue(), GWEN_DB_GetFirstVar(), GWEN_DB_GetIntValue(), GWEN_DB_GetIntValueFromNode(), GWEN_DB_GetNextVar(), GWEN_DB_GetValueType(), GWEN_DB_NodeType_ValueChar, GWEN_DB_NodeType_ValueInt, GWEN_DB_VariableName(), GWEN_ERROR_BAD_DATA, GWEN_INHERIT_GETDATA, and GWEN_LOGDOMAIN.
Referenced by GWEN_Io_LayerHttp_AddRequest().
int GWEN_Io_LayerHttp_WriteStatus | ( | GWEN_IO_LAYER * | io, | |
GWEN_BUFFER * | buf | |||
) |
Definition at line 457 of file io_http.c.
References DBG_INFO, GWEN_Buffer_AppendString(), GWEN_DB_GetCharValue(), GWEN_DB_GetIntValue(), GWEN_ERROR_NO_DATA, GWEN_INHERIT_GETDATA, and GWEN_LOGDOMAIN.
Referenced by GWEN_Io_LayerHttp_AddRequest().