#include "NyLPC_cHttpBasicHeaderParser_protected.h"\r
#include <stdlib.h>\r
\r
+const char* NyLPC_THttpMethodType_toString(NyLPC_THttpMethodType i_method)\r
+{\r
+ static const char* method_prefix[3]={"GET","POST","HEAD"};\r
+ switch(i_method)\r
+ {\r
+ case NyLPC_THttpMethodType_GET:\r
+ return method_prefix[0];\r
+ case NyLPC_THttpMethodType_POST:\r
+ return method_prefix[1];\r
+ case NyLPC_THttpMethodType_HEAD:\r
+ return method_prefix[2];\r
+ default:\r
+ NyLPC_Abort();\r
+ }\r
+ return NULL;\r
+}\r
+\r
+\r
NyLPC_TBool NyLPC_THttpBasicHeader_isPersistent(const struct NyLPC_THttpBasicHeader* i_struct)\r
{\r
switch(i_struct->type)\r
#define NyLPC_THttpMethodType_POST ((NyLPC_THttpMethodType)0x02)\r
#define NyLPC_THttpMethodType_HEAD ((NyLPC_THttpMethodType)0x03)\r
\r
+const char* NyLPC_THttpMethodType_toString(NyLPC_THttpMethodType i_method);\r
+\r
/**\r
* HTTPバージョンの定義値\r
*/\r
}status_line_tbl[]={\r
{200,"OK"},\r
{301,"Moved Permanently"},\r
- {302,"Found"},\r
+ {302,"Moved Temporarily"},\r
{400,"Bad Request"},\r
{403,"Forbidden"},\r
{404,"Not Found"},\r
#include "../http/NyLPC_cHttpStream.h"\r
#include "../http/NyLPC_cHttpNullRequestHeaderParser.h"\r
#include "../http/NyLPC_cMimeType.h"\r
-\r
+#include "../http/NyLPC_cUrlQueryReader.h"\r
#ifdef __cplusplus\r
extern "C" {\r
#endif /* __cplusplus */\r
\r
#include "../net/httpd/NyLPC_cHttpdConnection.h"\r
#include "../net/httpd/NyLPC_cHttpd.h"\r
+#include "../net/httpd/NyLPC_cHttpdUtils.h"\r
+\r
#include "../net/httpd/mod/NyLPC_cModRemoteMcu.h"\r
#include "../net/httpd/mod/NyLPC_cModMiMicSetting.h"\r
#include "../net/httpd/mod/NyLPC_cModRomFiles.h"\r
#define NYLPC_UTILS_H_\r
\r
#include "../utils/NyLPC_cRomFileSet.h"\r
-\r
+#include "../utils/NyLPC_cFormatTextReader.h"\r
#ifdef __cplusplus\r
extern "C" {\r
#endif /* __cplusplus */\r
#include "NyLPC_cHttpdConnection_protected.h"\r
#include "NyLPC_http.h"\r
-#include "./mod/NyLPC_cHttpModUtils_protected.h"\r
+#include "NyLPC_cHttpdUtils.h"\r
#include "./NyLPC_cHttpd_protected.h"\r
\r
\r
*/\r
NyLPC_TBool NyLPC_cHttpdConnection_pushPrefetchInfo(NyLPC_TcHttpdConnection_t* i_inst,NyLPC_TcHttpBasicHeaderParser_t* i_header_parser,struct NyLPC_THttpBasicHeader* o_out)\r
{\r
- const char* method=NyLPC_cHttpdModUtils_getMethodPrefix(i_inst->_pparser.method);\r
+ const char* method=NyLPC_THttpMethodType_toString(i_inst->_pparser.method);\r
if(NyLPC_cHttpBasicHeaderParser_parseChar(i_header_parser,method,strlen(method),o_out)<0){\r
NyLPC_OnErrorGoto(Error);\r
}\r
#include "NyLPC_uipService.h"\r
#include "NyLPC_cHttpdConnection.h"\r
#include "NyLPC_stdlib.h"\r
-#include "./mod/NyLPC_cHttpModUtils_protected.h"\r
+#include "NyLPC_cHttpdUtils.h"\r
\r
#ifdef __cplusplus\r
extern "C" {\r
* Created on: 2013/03/05\r
* Author: nyatla\r
*/\r
-#include "NyLPC_cHttpModUtils_protected.h"\r
-#include "../NyLPC_cHttpdConnection_protected.h"\r
+#include "NyLPC_cHttpdUtils.h"\r
+#include "NyLPC_cHttpdConnection_protected.h"\r
+\r
\r
-const char* NyLPC_cHttpdModUtils_getMethodPrefix(NyLPC_THttpMethodType i_method)\r
-{\r
- static const char* method_prefix[3]={"GET","POST","HEAD"};\r
- switch(i_method)\r
- {\r
- case NyLPC_THttpMethodType_GET:\r
- return method_prefix[0];\r
- case NyLPC_THttpMethodType_POST:\r
- return method_prefix[1];\r
- case NyLPC_THttpMethodType_HEAD:\r
- return method_prefix[2];\r
- default:\r
- NyLPC_Abort();\r
- }\r
- return NULL;\r
-}\r
\r
-NyLPC_TBool NyLPC_cHttpdModUtils_sendFixedContentBatch(NyLPC_TcHttpdConnection_t* i_connection,const NyLPC_TChar* i_content_type,const NyLPC_TChar* i_content,NyLPC_TUInt32 i_size)\r
+NyLPC_TBool NyLPC_cHttpdUtils_sendFixedContentBatch(NyLPC_TcHttpdConnection_t* i_connection,const NyLPC_TChar* i_content_type,const NyLPC_TChar* i_content,NyLPC_TUInt32 i_size)\r
{\r
//HEAD or GET\r
switch(NyLPC_cHttpdConnection_getMethod(i_connection))\r
/**\r
* 標準的なJsonヘッダを送信する。\r
*/\r
-NyLPC_TBool NyLPC_cHttpdModUtils_sendJsonHeader(NyLPC_TcHttpdConnection_t* i_connection)\r
+NyLPC_TBool NyLPC_cHttpdUtils_sendJsonHeader(NyLPC_TcHttpdConnection_t* i_connection)\r
{\r
- const static char* additional_header="Access-Control-Allow-Origin:*\r\n";\r
+ const static char* additional_header=\r
+ "Access-Control-Allow-Origin:*\r\n"\r
+ "Pragma: no-cache\r\n"\r
+ "Cache-Control: no-cache\r\n";\r
const static char* content_type="application/json";\r
return NyLPC_cHttpdConnection_sendResponseHeader(i_connection,200,content_type,additional_header);\r
}\r
--- /dev/null
+/*\r
+ * NyLPC_httpd_utils.h\r
+ *\r
+ * Created on: 2013/03/05\r
+ * Author: nyatla\r
+ */\r
+\r
+#ifndef NYLPC_HTTPD_UTILS_H_\r
+#define NYLPC_HTTPD_UTILS_H_\r
+\r
+#include "NyLPC_stdlib.h"\r
+#include "NyLPC_http.h"\r
+#include "NyLPC_cHttpdConnection.h"\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif /* __cplusplus */\r
+\r
+\r
+/**\r
+ * 固定長コンテンツを送信する。\r
+ */\r
+NyLPC_TBool NyLPC_cHttpdUtils_sendFixedContentBatch(NyLPC_TcHttpdConnection_t* i_connection,const NyLPC_TChar* i_content_type,const NyLPC_TChar* i_content,NyLPC_TUInt32 i_size);\r
+/**\r
+ * 標準的なJsonヘッダを送信する。\r
+ */\r
+NyLPC_TBool NyLPC_cHttpdUtils_sendJsonHeader(NyLPC_TcHttpdConnection_t* i_connection);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif /* __cplusplus */\r
+#endif /* */\r
+++ /dev/null
-/*\r
- * NyLPC_httpmod_utils_protected.h\r
- *\r
- * Created on: 2013/03/05\r
- * Author: nyatla\r
- */\r
-\r
-#ifndef NYLPC_HTTPMOD_UTILS_PROTECTED_H_\r
-#define NYLPC_HTTPMOD_UTILS_PROTECTED_H_\r
-\r
-#include "NyLPC_stdlib.h"\r
-#include "NyLPC_http.h"\r
-#include "../NyLPC_cHttpdConnection.h"\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif /* __cplusplus */\r
-/**\r
- * Method文字列を返します。\r
- */\r
-const char* NyLPC_cHttpdModUtils_getMethodPrefix(NyLPC_THttpMethodType i_method);\r
-/**\r
- * 固定長コンテンツを送信する。\r
- */\r
-NyLPC_TBool NyLPC_cHttpdModUtils_sendFixedContentBatch(NyLPC_TcHttpdConnection_t* i_connection,const NyLPC_TChar* i_content_type,const NyLPC_TChar* i_content,NyLPC_TUInt32 i_size);\r
-/**\r
- * 標準的なJsonヘッダを送信する。\r
- */\r
-NyLPC_TBool NyLPC_cHttpdModUtils_sendJsonHeader(NyLPC_TcHttpdConnection_t* i_connection);\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif /* __cplusplus */\r
-#endif /* NYLPC_HTTPMOD_UTILS_PROTECTED_H_ */\r
*********************************************************************************/\r
#include "NyLPC_cModMiMicSetting.h"\r
#include "NyLPC_stdlib.h"\r
-#include "NyLPC_cHttpModUtils_protected.h"\r
+#include "../NyLPC_cHttpdUtils.h"\r
#include "NyLPC_http.h"\r
#include "NyLPC_mimicVm.h"\r
#include "NyLPC_flash.h"\r
\r
switch(i_req->content.setup.cval){\r
case QVAL_C_GET:\r
- if(!NyLPC_cHttpdModUtils_sendJsonHeader(i_connection)){\r
+ if(!NyLPC_cHttpdUtils_sendJsonHeader(i_connection)){\r
NyLPC_OnErrorGoto(Error);\r
}\r
config=NyLPC_cMiMicConfiglation_loadFromFlash();\r
if(!ret){\r
NyLPC_cHttpdConnection_sendResponseHeader2(i_connection,500,"text/html",0,NULL);\r
}else{\r
- if(!NyLPC_cHttpdModUtils_sendJsonHeader(i_connection)){\r
+ if(!NyLPC_cHttpdUtils_sendJsonHeader(i_connection)){\r
NyLPC_OnErrorGoto(Error);\r
}\r
NyLPC_cHttpdConnection_sendResponseBodyF(i_connection,\r
#include "NyLPC_http.h"\r
#include "NyLPC_mimicVm.h"\r
#include "../NyLPC_cHttpdConnection_protected.h"\r
-#include "NyLPC_cHttpmodUtils_protected.h"\r
+#include "../NyLPC_cHttpdUtils.h"\r
#include "NyLPC_net.h"\r
\r
#define MVM_VERSION "ModRemoteMcu/1.0;Json/1.0"\r
*/\r
static void status(NyLPC_TcHttpdConnection_t* i_connection)\r
{\r
- if(!NyLPC_cHttpdModUtils_sendJsonHeader(i_connection)){\r
+ if(!NyLPC_cHttpdUtils_sendJsonHeader(i_connection)){\r
return;\r
}\r
//JSONを書く。\r
//Bodyを書く\r
//ここでリクエストパーサのエラー原因を調べて、詳細JSONをかくのもあり\r
//ハンドラインスタンスの設定\r
- if(!NyLPC_cHttpdModUtils_sendJsonHeader(i_connection)){\r
+ if(!NyLPC_cHttpdUtils_sendJsonHeader(i_connection)){\r
NyLPC_OnErrorGoto(Error1);\r
}\r
\r
#include "NyLPC_cModRomFiles_protected.h"\r
#include "NyLPC_stdlib.h"\r
#include "NyLPC_http.h"\r
-#include "NyLPC_cHttpModUtils_protected.h"\r
+#include "../NyLPC_cHttpdUtils.h"\r
#include "../NyLPC_cHttpdConnection_protected.h"\r
\r
\r
{\r
NyLPC_cHttpdConnection_setConnectionMode(i_connection,NyLPC_TcHttpdConnection_CONNECTION_MODE_CONTINUE);\r
}\r
- NyLPC_cHttpdModUtils_sendFixedContentBatch(i_connection,i_inst->_data[i].content_type,i_inst->_data[i].data,i_inst->_data[i].size>0?i_inst->_data[i].size:strlen(i_inst->_data[i].data));\r
+ NyLPC_cHttpdUtils_sendFixedContentBatch(i_connection,i_inst->_data[i].content_type,i_inst->_data[i].data,i_inst->_data[i].size>0?i_inst->_data[i].size:strlen(i_inst->_data[i].data));\r
return NyLPC_TBool_TRUE;\r
}\r
//404Error\r
#include "NyLPC_cModUrl.h"\r
#include "NyLPC_stdlib.h"\r
#include "NyLPC_http.h"\r
-#include "NyLPC_cHttpModUtils_protected.h"\r
+#include "../NyLPC_cHttpdUtils.h"\r
#include "../NyLPC_cHttpdConnection_protected.h"\r
\r
typedef struct TcHeaderParser\r