OSDN Git Service

関数移動、NyLPC_cHttpModUtilsをNyLCP_cHttpdUtilsへ改名。
authornyatla <nyatla@47198e57-cb75-475f-84c4-a814cd6f29e0>
Wed, 24 Apr 2013 09:25:30 +0000 (09:25 +0000)
committernyatla <nyatla@47198e57-cb75-475f-84c4-a814cd6f29e0>
Wed, 24 Apr 2013 09:25:30 +0000 (09:25 +0000)
Jsonヘッダにnocache等を追加

git-svn-id: http://svn.osdn.jp/svnroot/mimic/trunk@220 47198e57-cb75-475f-84c4-a814cd6f29e0

15 files changed:
lib/src/http/NyLPC_cHttpBasicHeaderParser.c
lib/src/http/NyLPC_cHttpBasicHeaderParser.h
lib/src/http/NyLPC_cHttpHeaderWriter.c
lib/src/include/NyLPC_http.h
lib/src/include/NyLPC_net.h
lib/src/include/NyLPC_utils.h
lib/src/net/httpd/NyLPC_cHttpdConnection.c
lib/src/net/httpd/NyLPC_cHttpdConnection_protected.h
lib/src/net/httpd/NyLPC_cHttpdUtils.c [moved from lib/src/net/httpd/mod/NyLPC_cHttpModUtils.c with 51% similarity]
lib/src/net/httpd/NyLPC_cHttpdUtils.h [new file with mode: 0644]
lib/src/net/httpd/mod/NyLPC_cHttpModUtils_protected.h [deleted file]
lib/src/net/httpd/mod/NyLPC_cModMiMicSetting.c
lib/src/net/httpd/mod/NyLPC_cModRemoteMcu.c
lib/src/net/httpd/mod/NyLPC_cModRomFiles.c
lib/src/net/httpd/mod/NyLPC_cModUrl.c

index 9ab1d73..f31cd89 100644 (file)
 #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
index 0de2aa9..a0f5220 100644 (file)
@@ -71,6 +71,8 @@ typedef NyLPC_TUInt8 NyLPC_THttpMethodType;
 #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
index f60207a..a6a9901 100644 (file)
@@ -86,7 +86,7 @@ const static struct{
 }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
index 2352118..f48f732 100644 (file)
@@ -37,7 +37,7 @@
 #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
index 7c59af6..3f16878 100644 (file)
@@ -33,6 +33,8 @@
 \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
index 28316ae..e9ab846 100644 (file)
@@ -31,7 +31,7 @@
 #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
index 7a1846d..c73e04b 100644 (file)
@@ -1,6 +1,6 @@
 #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
@@ -199,7 +199,7 @@ void NyLPC_cHttpdConnection_setConnectionMode(NyLPC_TcHttpdConnection_t* i_inst,
  */\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
index f9f493c..b60346c 100644 (file)
@@ -10,7 +10,7 @@
 #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
similarity index 51%
rename from lib/src/net/httpd/mod/NyLPC_cHttpModUtils.c
rename to lib/src/net/httpd/NyLPC_cHttpdUtils.c
index d09d4b6..b84810c 100644 (file)
@@ -4,27 +4,12 @@
  *  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
@@ -50,9 +35,12 @@ NyLPC_TBool NyLPC_cHttpdModUtils_sendFixedContentBatch(NyLPC_TcHttpdConnection_t
 /**\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
diff --git a/lib/src/net/httpd/NyLPC_cHttpdUtils.h b/lib/src/net/httpd/NyLPC_cHttpdUtils.h
new file mode 100644 (file)
index 0000000..1ca1301
--- /dev/null
@@ -0,0 +1,31 @@
+/*\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
diff --git a/lib/src/net/httpd/mod/NyLPC_cHttpModUtils_protected.h b/lib/src/net/httpd/mod/NyLPC_cHttpModUtils_protected.h
deleted file mode 100644 (file)
index 6a8ad9f..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/*\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
index a5e4b4e..2de143a 100644 (file)
@@ -25,7 +25,7 @@
  *********************************************************************************/\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
@@ -350,7 +350,7 @@ static void setup_proc(NyLPC_TcHttpdConnection_t* i_connection,struct TModMiMicS
 \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
@@ -397,7 +397,7 @@ static void setup_proc(NyLPC_TcHttpdConnection_t* i_connection,struct TModMiMicS
                                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
index c5eb013..c336d9a 100644 (file)
@@ -28,7 +28,7 @@
 #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
@@ -482,7 +482,7 @@ static void mvmsleep(struct NyLPC_TcMiMicVM_TEvent* i_eh,NyLPC_TUInt32 i_sleep_i
  */\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
@@ -510,7 +510,7 @@ static void mvm(NyLPC_TcHttpdConnection_t* i_connection,const struct TModMiMicRe
        //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
index f5a114f..a387dd8 100644 (file)
@@ -26,7 +26,7 @@
 #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
@@ -106,7 +106,7 @@ NyLPC_TBool NyLPC_cModRomFiles_execute(NyLPC_TcModRomFiles_t* i_inst,NyLPC_TcHtt
                {\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
index 0b83452..cb6d180 100644 (file)
@@ -26,7 +26,7 @@
 #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