|
gwenhywfar
5.10.1
|
#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 99 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 131 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 | ( | GWEN_UNUSED void * | bp, |
| void * | p | ||
| ) |
Definition at line 80 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 1259 of file syncio_http.c.
References GWEN_INHERIT_GETDATA.
Referenced by GWEN_HttpSession_RecvCommand().

| GWEN_DB_NODE* GWEN_SyncIo_Http_GetDbCommandOut | ( | const GWEN_SYNCIO * | sio | ) |
Definition at line 1298 of file syncio_http.c.
References GWEN_INHERIT_GETDATA.
Referenced by GWEN_Gui_ExtendSyncIo(), and GWEN_HttpSession_SendPacket().

| GWEN_DB_NODE* GWEN_SyncIo_Http_GetDbHeaderIn | ( | const GWEN_SYNCIO * | sio | ) |
Definition at line 1285 of file syncio_http.c.
References GWEN_INHERIT_GETDATA.
Referenced by GWEN_HttpSession__RecvPacket(), GWEN_HttpSession__RecvPacketToSio(), GWEN_HttpSession_RecvCommand(), GWEN_SyncIo_Http_RecvBody(), and GWEN_SyncIo_Http_RecvBodyToSio().

| GWEN_DB_NODE* GWEN_SyncIo_Http_GetDbHeaderOut | ( | const GWEN_SYNCIO * | sio | ) |
Definition at line 1324 of file syncio_http.c.
References GWEN_INHERIT_GETDATA.
Referenced by GWEN_Gui_ExtendSyncIo(), GWEN_HttpSession_Init(), GWEN_HttpSession_SendPacket(), and GWEN_HttpSession_SendStatus().

| GWEN_DB_NODE* GWEN_SyncIo_Http_GetDbStatusIn | ( | const GWEN_SYNCIO * | sio | ) |
Definition at line 1272 of file syncio_http.c.
References GWEN_INHERIT_GETDATA.
| GWEN_DB_NODE* GWEN_SyncIo_Http_GetDbStatusOut | ( | const GWEN_SYNCIO * | sio | ) |
Definition at line 1311 of file syncio_http.c.
References GWEN_INHERIT_GETDATA.
Referenced by GWEN_HttpSession_SendStatus().

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


| int GWEN_SyncIo_Http_ParseCommand | ( | GWEN_SYNCIO * | sio, |
| const char * | buffer | ||
| ) |
Definition at line 520 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 666 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 472 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 174 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 951 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 896 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 846 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 629 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 765 of file syncio_http.c.
References DBG_DEBUG, DBG_ERROR, DBG_INFO, GWEN_Buffer_AdjustUsedBytes(), GWEN_Buffer_AllocRoom(), GWEN_Buffer_free(), GWEN_Buffer_GetPos(), GWEN_Buffer_GetPosPointer(), GWEN_Buffer_GetStart(), GWEN_Buffer_GetUsedBytes(), GWEN_Buffer_IncrementPos(), GWEN_Buffer_new(), GWEN_ERROR_EOF, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_Logger_GetLevel(), GWEN_LoggerLevel_Debug, GWEN_SYNCIO_FLAGS_TRANSPARENT, GWEN_SyncIo_GetBaseIo(), GWEN_SyncIo_Http_ParseHeader(), GWEN_SyncIo_Read(), GWEN_SyncIo_SubFlags(), and GWEN_Text_LogString().
Referenced by GWEN_SyncIo_Http_Read().


| int GWEN_SyncIo_Http_ReadLine | ( | GWEN_SYNCIO * | sio, |
| GWEN_BUFFER * | tbuf | ||
| ) |
Definition at line 420 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 578 of file syncio_http.c.
References DBG_DEBUG, DBG_INFO, GWEN_Buffer_free(), GWEN_Buffer_GetStart(), GWEN_Buffer_GetUsedBytes(), GWEN_Buffer_new(), GWEN_ERROR_EOF, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_Logger_GetLevel(), GWEN_LoggerLevel_Debug, GWEN_SyncIo_GetBaseIo(), GWEN_SyncIo_Http_ParseStatus(), GWEN_SyncIo_Http_ReadLine(), and GWEN_Text_LogString().
Referenced by GWEN_SyncIo_Http_Read().


| int GWEN_SyncIo_Http_RecvBody | ( | GWEN_SYNCIO * | sio, |
| GWEN_BUFFER * | buf | ||
| ) |
Definition at line 1338 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 1483 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 161 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 1244 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 312 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 1213 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 995 of file syncio_http.c.
References DBG_DEBUG, 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_Logger_GetLevel(), GWEN_LoggerLevel_Debug, GWEN_SyncIo_AddFlags(), GWEN_SYNCIO_FLAGS_TRANSPARENT, GWEN_SyncIo_GetBaseIo(), GWEN_SyncIo_WriteForced(), and GWEN_Text_LogString().
Referenced by GWEN_SyncIo_Http_Write().


| int GWEN_SyncIo_Http_WriteHeader | ( | GWEN_SYNCIO * | sio | ) |
Definition at line 1106 of file syncio_http.c.
References DBG_DEBUG, 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_Logger_GetLevel(), GWEN_LoggerLevel_Debug, GWEN_SyncIo_AddFlags(), GWEN_SYNCIO_FLAGS_TRANSPARENT, GWEN_SyncIo_GetBaseIo(), GWEN_SyncIo_Http_SetWriteIdle(), GWEN_SyncIo_WriteForced(), GWEN_Text_ComparePattern(), and GWEN_Text_LogString().
Referenced by GWEN_SyncIo_Http_Write().


| int GWEN_SyncIo_Http_WriteStatus | ( | GWEN_SYNCIO * | sio | ) |
Definition at line 1051 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().


1.8.14