From 464dcb0032de4faba4dfc42b6e44cbed9b7c6a06 Mon Sep 17 00:00:00 2001 From: Miteruzo Date: Tue, 18 Jul 2023 20:56:17 +0900 Subject: [PATCH] =?UTF-8?q?HTTP=20=E3=82=92=E3=83=A2=E3=83=82=E3=83=A5?= =?UTF-8?q?=E3=83=BC=E3=83=AB=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/http.mod.hsp | 52 +++++++++++++++++++++++++++++++++++++ modules/user.mod.hsp | 62 ++++++++++++++++---------------------------- 2 files changed, 74 insertions(+), 40 deletions(-) create mode 100644 modules/http.mod.hsp diff --git a/modules/http.mod.hsp b/modules/http.mod.hsp new file mode 100644 index 0000000..dfc1e79 --- /dev/null +++ b/modules/http.mod.hsp @@ -0,0 +1,52 @@ +#ifndef __HTTP__ +#define __HTTP__ + +#module \ +Http + +#enum STATUS_SUCCESS = 1 +#enum STATUS_ERROR + +#deffunc \ +Fetch \ + str p_url,\ + local l_res,\ + local l_size + HTTPLoad p_url + + If stat = 0 { + Repeat + HTTPInfo l_res, HTTPINFO_MODE + + Switch l_res + Case HTTPMODE_READY + Case HTTPMODE_NONE + Case HTTPMODE_ERROR + Break + SwEnd + + Wait 5 + Loop + + If l_res = HTTPMODE_READY { + HTTPInfo l_size, HTTPINFO_SIZE + + SDim data, l_size + HTTPInfo data, HTTPINFO_DATA + + status = STATUS_SUCCESS + + Return + } + } + + HTTPInfo errMsg, HTTPINFO_ERROR + + status = STATUS_ERROR + + Return + +#global + +#endif ; not __HTTP__ + diff --git a/modules/user.mod.hsp b/modules/user.mod.hsp index 4b90cf6..58cc0ed 100644 --- a/modules/user.mod.hsp +++ b/modules/user.mod.hsp @@ -1,3 +1,9 @@ +#include "./modules/http.mod.hsp" + + +#ifndef __USER__ +#define __USER__ + #module \ User @@ -6,59 +12,35 @@ User #deffunc local \ Create \ - str p_name,\ - local l_res,\ - local l_size,\ + str p_name, local l_data - HTTPLoad CREATE_URL + "?name=" + p_name - - If stat = 0 { - Repeat - HTTPInfo l_res, HTTPINFO_MODE - - Switch l_res - Case HTTPMODE_READY - Case HTTPMODE_NONE - Case HTTPMODE_ERROR - Break - SwEnd - - Wait 5 - Loop - - If l_res = HTTPMODE_READY { - HTTPInfo l_size, HTTPINFO_SIZE + Fetch@Http CREATE_URL + "?name=" + p_name - SDim l_data, l_size + If status@Http = STATUS_SUCCESS@Http { + Split data@Http, ",", l_data - HTTPInfo l_data, HTTPINFO_DATA - Split l_data, ",", l_data - - id = l_data.0 - pass = l_data.1 - inheritanceCode = l_data.2 - - Return - } + id = Int (l_data.0) + pass = l_data.1 + inheritanceCode = l_data.2 + } + Else { + id = 0 + pass = "" + inheritanceCode = "" } - id = 0 - pass = "" - inheritanceCode = "" - - Return -1 + Return #deffunc local \ -Fetch \ +Auth \ int p_id,\ local l_data id = userId@Setting pass = userPasscode@Setting - HTTPLoad StrF ("%s?id=%d&pass=%s", CREATE_URL, id, pass) - HTTPInfo l_data - Return #global +#endif ; not __USER__ +