/*DOC:
===$http-get==
- ($http-get [#post] [#sjis] [#file] [:id STRING] [:password STRING | :pw STRING] URL [:query '((NAME . VALUE) ...)] [:cookie '((NAME . VALUE) ...)] [:header '((NAME . VALUE) ...)] [SUBFUNCTION...])
+ ($http-get URL [#get] [#post] [#put] [#delete] [#file]
+ [:id STRING] [:password STRING | :pw STRING]
+ [:query '((NAME . VALUE) ...)] [:get-query '((NAME . VALUE) ...)]
+ [:post-file-serial '((NAME . VALUE) ...)]
+ [:post-file-named '((NAME . VALUE) ...)]
+ [:post-file-static '((NAME . VALUE) ...)]
+ [:cookie '((NAME . VALUE) ...)] [:header '((NAME . VALUE) ...)]
+ [:proxy-host STRING] [:proxy-port NUMBER]
+ [:proxy-id STRING] [:proxy-password STRING | :proxy-pw STRING]
+ [#sjis]
+ [SUBFUNCTION...])
*/
//#MFUNC $http-get ml_http_get cMLHttpGetID
MNode* rest;
MNodePtr ans;
static paramList kwlist[] = {
- {CharConst ("post"), true}, // 0
- {CharConst ("id"), false},
- {CharConst ("password"), false},
- {CharConst ("pw"), false},
- {CharConst ("query"), false},
- {CharConst ("cookie"), false}, // 5
- {CharConst ("proxy-host"), false},
- {CharConst ("proxy-port"), false},
- {CharConst ("proxy-id"), false},
- {CharConst ("proxy-password"), false},
- {CharConst ("proxy-pw"), false}, // 10
- {CharConst ("header"), false},
- {CharConst ("get-query"), false},
- {CharConst ("sjis"), true},
- {CharConst ("file"), true},
- {CharConst ("post-file-serial"), false}, // 15
- {CharConst ("post-file-named"), false},
+ {CharConst ("get"), true}, // 0
+ {CharConst ("post"), true}, // 1
+ {CharConst ("put"), true}, // 2
+ {CharConst ("delete"), true}, // 3
+ {CharConst ("file"), true}, // 4
+ {CharConst ("id"), false}, // 5
+ {CharConst ("password"), false}, // 6
+ {CharConst ("pw"), false}, // 7
+ {CharConst ("query"), false}, // 8
+ {CharConst ("get-query"), false}, // 9
+ {CharConst ("post-file-serial"), false}, // 10
+ {CharConst ("post-file-named"), false}, // 11
+ {CharConst ("post-file-static"), false}, // 12
+ {CharConst ("cookie"), false}, // 13
+ {CharConst ("header"), false}, // 14
+ {CharConst ("proxy-host"), false}, // 15
+ {CharConst ("proxy-port"), false}, // 16
+ {CharConst ("proxy-id"), false}, // 17
+ {CharConst ("proxy-password"), false}, // 18
+ {CharConst ("proxy-pw"), false}, // 19
+ {CharConst ("sjis"), true}, // 20
{NULL, 0, 0}
};
setParams (arg, 1, ¶ms, kwlist, &keywords, &rest);
url = eval_str (params[0], mlenv);
assert (obj.http == NULL);
- if (keywords[13] && eval_bool (keywords[13], mlenv)) { // sjis
+ if (keywords[20] && eval_bool (keywords[20], mlenv)) // sjis
obj.http = new HTTPSendIConv ("SHIFT_JIS");
- } else {
+ else
obj.http = new HTTPSend;
- }
- if (keywords[0] && eval_bool (keywords[0], mlenv)) // post
- obj.http->setMethod (ustring (CharConst ("POST")), true);
- if (keywords[1]) // id
- obj.http->id = omitCtrl (eval_str (keywords[1], mlenv));
- if (keywords[2]) // password
- obj.http->pw = omitCtrl (eval_str (keywords[2], mlenv));
- if (keywords[3]) // pw
- obj.http->pw = omitCtrl (eval_str (keywords[3], mlenv));
- if (keywords[4]) // query
- obj.http->params = eval (keywords[4], mlenv);
- if (keywords[5]) // cookie
- cookie = eval (keywords[5], mlenv);
- if (keywords[6]) { // proxy-host
+ if (keywords[0] && eval_bool (keywords[0], mlenv)) // get
+ obj.http->setMethod (HTTPSend::M_GET);
+ if (keywords[1] && eval_bool (keywords[1], mlenv)) // post
+ obj.http->setMethod (HTTPSend::M_POST);
+ if (keywords[2] && eval_bool (keywords[2], mlenv)) // put
+ obj.http->setMethod (HTTPSend::M_PUT);
+ if (keywords[3] && eval_bool (keywords[3], mlenv)) // delete
+ obj.http->setMethod (HTTPSend::M_DELETE);
+ if (keywords[4] && eval_bool (keywords[4], mlenv)) // file
+ obj.http->setPostFileMethod ();
+ if (keywords[5]) // id
+ obj.http->id = omitCtrl (eval_str (keywords[5], mlenv));
+ if (keywords[6]) // password
+ obj.http->pw = omitCtrl (eval_str (keywords[6], mlenv));
+ if (keywords[7]) // pw
+ obj.http->pw = omitCtrl (eval_str (keywords[7], mlenv));
+ if (keywords[8]) // query
+ obj.http->params = eval (keywords[8], mlenv);
+ if (keywords[9]) // get-query
+ obj.http->getparams = eval (keywords[9], mlenv);
+ if (keywords[10]) // post-file-serial
+ obj.http->fileparams_store = eval (keywords[10], mlenv);
+ if (keywords[11]) // post-file-named
+ obj.http->fileparams_storage = eval (keywords[11], mlenv);
+ // post-file-static
+ if (keywords[13]) // cookie
+ cookie = eval (keywords[13], mlenv);
+ if (keywords[14]) // header
+ headerquery = eval (keywords[14], mlenv);
+ if (keywords[15]) { // proxy-host
MNodePtr h;
- h = eval (keywords[6], mlenv);
+ h = eval (keywords[15], mlenv);
if (! isNil (h ())) {
obj.http->host.host = omitNonAsciiWord (to_string (h ()));
obj.http->useproxy = true;
- if (keywords[7]) // proxy-port
- obj.http->host.port = to_uint32 (eval_str (keywords[7], mlenv));
- if (keywords[8]) // proxyid
- obj.http->proxyid = omitCtrl (eval_str (keywords[8], mlenv));
- if (keywords[9]) // proxypassword
- obj.http->proxypw = omitCtrl (eval_str (keywords[9], mlenv));
- if (keywords[10]) // proxypw
- obj.http->proxypw = omitCtrl (eval_str (keywords[10], mlenv));
+ if (keywords[16]) // proxy-port
+ obj.http->host.port = to_uint32 (eval_str (keywords[16], mlenv));
+ if (keywords[17]) // proxy-id
+ obj.http->proxyid = omitCtrl (eval_str (keywords[17], mlenv));
+ if (keywords[18]) // proxy-password
+ obj.http->proxypw = omitCtrl (eval_str (keywords[18], mlenv));
+ if (keywords[19]) // proxy-pw
+ obj.http->proxypw = omitCtrl (eval_str (keywords[19], mlenv));
}
}
- if (keywords[11]) { // header
- headerquery = eval (keywords[11], mlenv);
- }
- if (keywords[12]) { // get-query
- obj.http->getparams = eval (keywords[12], mlenv);
- }
- if (keywords[14] && eval_bool (keywords[14], mlenv)) { // file
- obj.http->formData = true;
- obj.http->setMethod (ustring (CharConst ("POST")), true);
- }
- if (keywords[15]) // post-file-serial
- obj.http->fileparams_store = eval (keywords[15], mlenv);
- if (keywords[16]) // post-file-named
- obj.http->fileparams_storage = eval (keywords[16], mlenv);
url_sub (url, obj.http);
if (obj.http->proto.empty ()) {