gwenhywfar
4.7.0beta
|
#include "syncio_http_p.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 <errno.h>
#include <string.h>
#include <ctype.h>
Go to the source code of this file.
Macros | |
#define | DISABLE_DEBUGLOG |
#define DISABLE_DEBUGLOG |
Definition at line 29 of file syncio_http.c.
int GWENHYWFAR_CB GWEN_SyncIo_Http_Connect | ( | GWEN_SYNCIO * | sio) |
Definition at line 97 of file syncio_http.c.
References DBG_INFO, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_SyncIo_Connect(), GWEN_SyncIo_GetBaseIo(), GWEN_SyncIo_GetStatus(), GWEN_SyncIo_Http_SetReadIdle(), GWEN_SyncIo_SetStatus(), and GWEN_SyncIo_Status_Connected.
Referenced by GWEN_SyncIo_Http_new().
int GWENHYWFAR_CB GWEN_SyncIo_Http_Disconnect | ( | GWEN_SYNCIO * | sio) |
Definition at line 128 of file syncio_http.c.
References DBG_INFO, GWEN_ERROR_NOT_CONNECTED, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_SyncIo_Disconnect(), GWEN_SyncIo_GetBaseIo(), GWEN_SyncIo_GetStatus(), GWEN_SyncIo_SetStatus(), GWEN_SyncIo_Status_Connected, and GWEN_SyncIo_Status_Disconnected.
Referenced by GWEN_SyncIo_Http_new().
void GWENHYWFAR_CB GWEN_SyncIo_Http_FreeData | ( | void * | bp, |
void * | p | ||
) |
Definition at line 79 of file syncio_http.c.
References GWEN_DB_Group_free(), and GWEN_FREE_OBJECT.
Referenced by GWEN_SyncIo_Http_new().
GWEN_DB_NODE* GWEN_SyncIo_Http_GetDbCommandIn | ( | const GWEN_SYNCIO * | sio) |
Definition at line 1203 of file syncio_http.c.
References GWEN_INHERIT_GETDATA.
GWEN_DB_NODE* GWEN_SyncIo_Http_GetDbCommandOut | ( | const GWEN_SYNCIO * | sio) |
Definition at line 1239 of file syncio_http.c.
References GWEN_INHERIT_GETDATA.
Referenced by GWEN_Gui_Internal_GetSyncIo(), and GWEN_HttpSession_SendPacket().
GWEN_DB_NODE* GWEN_SyncIo_Http_GetDbHeaderIn | ( | const GWEN_SYNCIO * | sio) |
Definition at line 1227 of file syncio_http.c.
References GWEN_INHERIT_GETDATA.
Referenced by GWEN_HttpSession__RecvPacket(), GWEN_HttpSession__RecvPacketToSio(), GWEN_SyncIo_Http_RecvBody(), and GWEN_SyncIo_Http_RecvBodyToSio().
GWEN_DB_NODE* GWEN_SyncIo_Http_GetDbHeaderOut | ( | const GWEN_SYNCIO * | sio) |
Definition at line 1263 of file syncio_http.c.
References GWEN_INHERIT_GETDATA.
Referenced by GWEN_Gui_Internal_GetSyncIo(), GWEN_HttpSession_Init(), and GWEN_HttpSession_SendPacket().
GWEN_DB_NODE* GWEN_SyncIo_Http_GetDbStatusIn | ( | const GWEN_SYNCIO * | sio) |
Definition at line 1215 of file syncio_http.c.
References GWEN_INHERIT_GETDATA.
GWEN_DB_NODE* GWEN_SyncIo_Http_GetDbStatusOut | ( | const GWEN_SYNCIO * | sio) |
Definition at line 1251 of file syncio_http.c.
References GWEN_INHERIT_GETDATA.
GWEN_SYNCIO* GWEN_SyncIo_Http_new | ( | GWEN_SYNCIO * | baseIo) |
The base GWEN_SYNCIO is expected to be of type GWEN_SYNCIO_BUFFERED_TYPE (see GWEN_SyncIo_Buffered_new).
Definition at line 52 of file syncio_http.c.
References GWEN_DB_Group_new(), GWEN_INHERIT_SETDATA, GWEN_NEW_OBJECT, GWEN_SyncIo_Http_Connect(), GWEN_SyncIo_Http_Disconnect(), GWEN_SyncIo_Http_FreeData(), GWEN_SyncIo_Http_Read(), GWEN_SYNCIO_HTTP_TYPE, GWEN_SyncIo_Http_Write(), GWEN_SyncIo_new(), GWEN_SyncIo_SetConnectFn(), GWEN_SyncIo_SetDisconnectFn(), GWEN_SyncIo_SetReadFn(), and GWEN_SyncIo_SetWriteFn().
Referenced by GWEN_Gui_Internal_GetSyncIo().
int GWEN_SyncIo_Http_ParseCommand | ( | GWEN_SYNCIO * | sio, |
const char * | buffer | ||
) |
Definition at line 510 of file syncio_http.c.
References DBG_ERROR, GWEN_DB_FLAGS_OVERWRITE_VARS, GWEN_DB_SetCharValue(), GWEN_ERROR_INVALID, GWEN_INHERIT_GETDATA, and GWEN_LOGDOMAIN.
Referenced by GWEN_SyncIo_Http_ReadCommand().
int GWEN_SyncIo_Http_ParseHeader | ( | GWEN_SYNCIO * | sio, |
char * | buf | ||
) |
Definition at line 645 of file syncio_http.c.
References DBG_DEBUG, 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, GWEN_SyncIo_GetBaseIo(), GWEN_SyncIo_Http_SetReadIdle(), and GWEN_Text_ComparePattern().
Referenced by GWEN_SyncIo_Http_ReadHeader().
int GWEN_SyncIo_Http_ParseStatus | ( | GWEN_SYNCIO * | sio, |
char * | buffer | ||
) |
Definition at line 463 of file syncio_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_SyncIo_Http_ReadStatus().
int GWENHYWFAR_CB GWEN_SyncIo_Http_Read | ( | GWEN_SYNCIO * | sio, |
uint8_t * | buffer, | ||
uint32_t | size | ||
) |
Definition at line 169 of file syncio_http.c.
References DBG_DEBUG, DBG_ERROR, DBG_INFO, GWEN_Buffer_free(), GWEN_Buffer_new(), GWEN_DB_ClearGroup(), GWEN_DB_GetCharValue(), GWEN_ERROR_BAD_DATA, GWEN_ERROR_GENERIC, GWEN_ERROR_NOT_CONNECTED, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_SYNCIO_FLAGS_PASSIVE, GWEN_SyncIo_GetFlags(), GWEN_SyncIo_GetStatus(), GWEN_SyncIo_Http_ReadBody(), GWEN_SyncIo_Http_ReadChunk(), GWEN_SyncIo_Http_ReadChunkSize(), GWEN_SyncIo_Http_ReadCommand(), GWEN_SyncIo_Http_ReadHeader(), GWEN_SyncIo_Http_ReadLine(), GWEN_SyncIo_Http_ReadStatus(), GWEN_SyncIo_Http_SetReadIdle(), GWEN_SyncIo_Status_Connected, and NULL.
Referenced by GWEN_SyncIo_Http_new().
int GWEN_SyncIo_Http_ReadBody | ( | GWEN_SYNCIO * | sio, |
uint8_t * | buffer, | ||
uint32_t | size | ||
) |
Definition at line 917 of file syncio_http.c.
References DBG_INFO, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_SyncIo_AddFlags(), GWEN_SYNCIO_FLAGS_TRANSPARENT, GWEN_SyncIo_GetBaseIo(), GWEN_SyncIo_Http_SetReadIdle(), and GWEN_SyncIo_Read().
Referenced by GWEN_SyncIo_Http_Read().
int GWEN_SyncIo_Http_ReadChunk | ( | GWEN_SYNCIO * | sio, |
uint8_t * | buffer, | ||
uint32_t | size | ||
) |
Definition at line 863 of file syncio_http.c.
References DBG_DEBUG, DBG_INFO, GWEN_Buffer_free(), GWEN_Buffer_new(), GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_SyncIo_AddFlags(), GWEN_SYNCIO_FLAGS_TRANSPARENT, GWEN_SyncIo_GetBaseIo(), GWEN_SyncIo_Http_ReadLine(), and GWEN_SyncIo_Read().
Referenced by GWEN_SyncIo_Http_Read().
int GWEN_SyncIo_Http_ReadChunkSize | ( | GWEN_SYNCIO * | sio) |
Definition at line 814 of file syncio_http.c.
References DBG_ERROR, DBG_INFO, GWEN_Buffer_free(), GWEN_Buffer_GetStart(), GWEN_Buffer_new(), GWEN_Buffer_Reset(), GWEN_ERROR_BAD_DATA, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_SyncIo_GetBaseIo(), and GWEN_SyncIo_Http_ReadLine().
Referenced by GWEN_SyncIo_Http_Read().
int GWEN_SyncIo_Http_ReadCommand | ( | GWEN_SYNCIO * | sio) |
Definition at line 609 of file syncio_http.c.
References DBG_INFO, GWEN_Buffer_free(), GWEN_Buffer_GetStart(), GWEN_Buffer_new(), GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_SyncIo_GetBaseIo(), GWEN_SyncIo_Http_ParseCommand(), and GWEN_SyncIo_Http_ReadLine().
Referenced by GWEN_SyncIo_Http_Read().
int GWEN_SyncIo_Http_ReadHeader | ( | GWEN_SYNCIO * | sio) |
Definition at line 743 of file syncio_http.c.
References DBG_ERROR, DBG_INFO, GWEN_Buffer_AdjustUsedBytes(), GWEN_Buffer_AllocRoom(), GWEN_Buffer_free(), GWEN_Buffer_GetPos(), GWEN_Buffer_GetPosPointer(), GWEN_Buffer_GetStart(), GWEN_Buffer_IncrementPos(), GWEN_Buffer_new(), GWEN_ERROR_EOF, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_SYNCIO_FLAGS_TRANSPARENT, GWEN_SyncIo_GetBaseIo(), GWEN_SyncIo_Http_ParseHeader(), GWEN_SyncIo_Read(), and GWEN_SyncIo_SubFlags().
Referenced by GWEN_SyncIo_Http_Read().
int GWEN_SyncIo_Http_ReadLine | ( | GWEN_SYNCIO * | sio, |
GWEN_BUFFER * | tbuf | ||
) |
Definition at line 413 of file syncio_http.c.
References DBG_ERROR, DBG_INFO, GWEN_Buffer_AdjustUsedBytes(), GWEN_Buffer_AllocRoom(), GWEN_Buffer_GetMaxUnsegmentedWrite(), GWEN_Buffer_GetPosPointer(), GWEN_Buffer_GetUsedBytes(), GWEN_Buffer_IncrementPos(), GWEN_ERROR_EOF, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_SYNCIO_FLAGS_TRANSPARENT, GWEN_SyncIo_GetBaseIo(), GWEN_SyncIo_Read(), and GWEN_SyncIo_SubFlags().
Referenced by GWEN_SyncIo_Http_Read(), GWEN_SyncIo_Http_ReadChunk(), GWEN_SyncIo_Http_ReadChunkSize(), GWEN_SyncIo_Http_ReadCommand(), and GWEN_SyncIo_Http_ReadStatus().
int GWEN_SyncIo_Http_ReadStatus | ( | GWEN_SYNCIO * | sio) |
Definition at line 567 of file syncio_http.c.
References DBG_INFO, GWEN_Buffer_free(), GWEN_Buffer_GetStart(), GWEN_Buffer_new(), GWEN_ERROR_EOF, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_SyncIo_GetBaseIo(), GWEN_SyncIo_Http_ParseStatus(), and GWEN_SyncIo_Http_ReadLine().
Referenced by GWEN_SyncIo_Http_Read().
int GWEN_SyncIo_Http_RecvBody | ( | GWEN_SYNCIO * | sio, |
GWEN_BUFFER * | buf | ||
) |
Definition at line 1276 of file syncio_http.c.
References DBG_DEBUG, DBG_ERROR, DBG_INFO, GWEN_Buffer_AdjustUsedBytes(), GWEN_Buffer_AllocRoom(), GWEN_Buffer_GetMaxUnsegmentedWrite(), GWEN_Buffer_GetPosPointer(), GWEN_Buffer_GetUsedBytes(), GWEN_Buffer_IncrementPos(), GWEN_DB_GetCharValue(), GWEN_DB_GetIntValue(), GWEN_ERROR_BAD_DATA, GWEN_ERROR_EOF, GWEN_ERROR_INTERRUPTED, GWEN_ERROR_IO, GWEN_ERROR_SSL, GWEN_ERROR_USER_ABORTED, GWEN_GUI_PROGRESS_ALLOW_EMBED, GWEN_GUI_PROGRESS_DELAY, GWEN_GUI_PROGRESS_SHOW_ABORT, GWEN_GUI_PROGRESS_SHOW_PROGRESS, GWEN_Gui_ProgressAdvance(), GWEN_Gui_ProgressEnd(), GWEN_Gui_ProgressLog(), GWEN_Gui_ProgressLog2(), GWEN_Gui_ProgressSetTotal(), GWEN_Gui_ProgressStart(), GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_LoggerLevel_Debug, GWEN_LoggerLevel_Error, GWEN_SYNCIO_FLAGS_PASSIVE, GWEN_SyncIo_GetFlags(), GWEN_SyncIo_Http_GetDbHeaderIn(), GWEN_SyncIo_Read(), I18N, and NULL.
Referenced by GWEN_HttpSession__RecvPacket().
int GWEN_SyncIo_Http_RecvBodyToSio | ( | GWEN_SYNCIO * | sio, |
GWEN_SYNCIO * | sout | ||
) |
Definition at line 1419 of file syncio_http.c.
References DBG_DEBUG, DBG_ERROR, DBG_INFO, GWEN_DB_GetCharValue(), GWEN_DB_GetIntValue(), GWEN_ERROR_BAD_DATA, GWEN_ERROR_EOF, GWEN_ERROR_INTERRUPTED, GWEN_ERROR_IO, GWEN_ERROR_SSL, GWEN_ERROR_USER_ABORTED, GWEN_GUI_PROGRESS_ALLOW_EMBED, GWEN_GUI_PROGRESS_DELAY, GWEN_GUI_PROGRESS_SHOW_ABORT, GWEN_GUI_PROGRESS_SHOW_PROGRESS, GWEN_Gui_ProgressAdvance(), GWEN_Gui_ProgressEnd(), GWEN_Gui_ProgressLog(), GWEN_Gui_ProgressLog2(), GWEN_Gui_ProgressSetTotal(), GWEN_Gui_ProgressStart(), GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_LoggerLevel_Debug, GWEN_LoggerLevel_Error, GWEN_SYNCIO_FLAGS_PASSIVE, GWEN_SyncIo_GetFlags(), GWEN_SyncIo_Http_GetDbHeaderIn(), GWEN_SyncIo_Read(), GWEN_SyncIo_WriteForced(), I18N, and NULL.
Referenced by GWEN_HttpSession__RecvPacketToSio().
void GWEN_SyncIo_Http_SetReadIdle | ( | GWEN_SYNCIO * | sio) |
Definition at line 157 of file syncio_http.c.
References GWEN_INHERIT_GETDATA.
Referenced by GWEN_SyncIo_Http_Connect(), GWEN_SyncIo_Http_ParseHeader(), GWEN_SyncIo_Http_Read(), and GWEN_SyncIo_Http_ReadBody().
void GWEN_SyncIo_Http_SetWriteIdle | ( | GWEN_SYNCIO * | sio) |
Definition at line 1189 of file syncio_http.c.
References GWEN_DB_ClearGroup(), GWEN_INHERIT_GETDATA, and NULL.
Referenced by GWEN_SyncIo_Http_Write(), and GWEN_SyncIo_Http_WriteHeader().
int GWENHYWFAR_CB GWEN_SyncIo_Http_Write | ( | GWEN_SYNCIO * | sio, |
const uint8_t * | buffer, | ||
uint32_t | size | ||
) |
Definition at line 306 of file syncio_http.c.
References DBG_ERROR, GWEN_DB_GetCharValue(), GWEN_ERROR_GENERIC, GWEN_ERROR_INVALID, GWEN_ERROR_NOT_CONNECTED, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_SyncIo_AddFlags(), GWEN_SYNCIO_FLAGS_PASSIVE, GWEN_SYNCIO_FLAGS_TRANSPARENT, GWEN_SyncIo_GetBaseIo(), GWEN_SyncIo_GetFlags(), GWEN_SyncIo_GetStatus(), GWEN_SyncIo_Http_SetWriteIdle(), GWEN_SyncIo_Http_WriteChunkSize(), GWEN_SyncIo_Http_WriteCommand(), GWEN_SyncIo_Http_WriteHeader(), GWEN_SyncIo_Http_WriteStatus(), GWEN_SyncIo_Status_Connected, and GWEN_SyncIo_WriteForced().
Referenced by GWEN_SyncIo_Http_new().
int GWEN_SyncIo_Http_WriteChunkSize | ( | GWEN_SYNCIO * | sio, |
uint32_t | size | ||
) |
Definition at line 1159 of file syncio_http.c.
References DBG_INFO, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_SyncIo_AddFlags(), GWEN_SYNCIO_FLAGS_TRANSPARENT, GWEN_SyncIo_GetBaseIo(), and GWEN_SyncIo_WriteForced().
Referenced by GWEN_SyncIo_Http_Write().
int GWEN_SyncIo_Http_WriteCommand | ( | GWEN_SYNCIO * | sio) |
Definition at line 960 of file syncio_http.c.
References DBG_INFO, GWEN_Buffer_AppendString(), GWEN_Buffer_free(), GWEN_Buffer_GetStart(), GWEN_Buffer_GetUsedBytes(), GWEN_Buffer_new(), GWEN_DB_GetCharValue(), GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_SyncIo_AddFlags(), GWEN_SYNCIO_FLAGS_TRANSPARENT, GWEN_SyncIo_GetBaseIo(), and GWEN_SyncIo_WriteForced().
Referenced by GWEN_SyncIo_Http_Write().
int GWEN_SyncIo_Http_WriteHeader | ( | GWEN_SYNCIO * | sio) |
Definition at line 1061 of file syncio_http.c.
References DBG_INFO, GWEN_Buffer_AppendString(), GWEN_Buffer_free(), GWEN_Buffer_GetStart(), GWEN_Buffer_GetUsedBytes(), GWEN_Buffer_new(), 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, GWEN_LOGDOMAIN, GWEN_SyncIo_AddFlags(), GWEN_SYNCIO_FLAGS_TRANSPARENT, GWEN_SyncIo_GetBaseIo(), GWEN_SyncIo_Http_SetWriteIdle(), GWEN_SyncIo_WriteForced(), and GWEN_Text_ComparePattern().
Referenced by GWEN_SyncIo_Http_Write().
int GWEN_SyncIo_Http_WriteStatus | ( | GWEN_SYNCIO * | sio) |
Definition at line 1007 of file syncio_http.c.
References DBG_INFO, GWEN_Buffer_AppendString(), GWEN_Buffer_free(), GWEN_Buffer_GetStart(), GWEN_Buffer_GetUsedBytes(), GWEN_Buffer_new(), GWEN_DB_GetCharValue(), GWEN_DB_GetIntValue(), GWEN_ERROR_NO_DATA, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_SyncIo_AddFlags(), GWEN_SYNCIO_FLAGS_TRANSPARENT, GWEN_SyncIo_GetBaseIo(), and GWEN_SyncIo_WriteForced().
Referenced by GWEN_SyncIo_Http_Write().