From e512aa78322255adaf6bebe6b00264cc071ff654 Mon Sep 17 00:00:00 2001 From: Shinriel Date: Sun, 11 Oct 2020 20:42:52 +0200 Subject: [PATCH 1/2] Init branch, remove FetchUrl and add GDC dll, add method to call a rest api, review urlFetch method with the new dll --- gdc_lib_main/GDC.dll | Bin 0 -> 10752 bytes gdc_lib_main/GDC_x64.dll | Bin 0 -> 10752 bytes gdc_lib_main/functions/util/fn_restCall.sqf | 52 ++++++++++++++++++ gdc_lib_main/functions/util/fn_urlFetch.sqf | 50 ++++------------- .../functions/util/fn_urlFetchSimple.sqf | 14 ----- gdc_lib_main/functions/util/index.hpp | 2 +- url_fetch.dll | Bin 15872 -> 0 bytes 7 files changed, 65 insertions(+), 53 deletions(-) create mode 100644 gdc_lib_main/GDC.dll create mode 100644 gdc_lib_main/GDC_x64.dll create mode 100644 gdc_lib_main/functions/util/fn_restCall.sqf delete mode 100644 gdc_lib_main/functions/util/fn_urlFetchSimple.sqf delete mode 100644 url_fetch.dll diff --git a/gdc_lib_main/GDC.dll b/gdc_lib_main/GDC.dll new file mode 100644 index 0000000000000000000000000000000000000000..b74ddb081c00fbceeeb5c316c3720faa66dbf3cd GIT binary patch literal 10752 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 literal 0 HcmV?d00001 diff --git a/gdc_lib_main/GDC_x64.dll b/gdc_lib_main/GDC_x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..c8b83a1fcce7168ee85fb828355856fa19524e89 GIT binary patch literal 10752 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 KWXbQs1OEdsJ*V^l literal 0 HcmV?d00001 diff --git a/gdc_lib_main/functions/util/fn_restCall.sqf b/gdc_lib_main/functions/util/fn_restCall.sqf new file mode 100644 index 0000000..ee92002 --- /dev/null +++ b/gdc_lib_main/functions/util/fn_restCall.sqf @@ -0,0 +1,52 @@ +/* + Description: + Make a rest call to an url, with the right verb and if needed the body + [URL, "Get", nil, { Function }] call GDC_fnc_restCall; + [URL, "Post", "{ json: ""valid"" }", { Function }] call GDC_fnc_restCall; + + Parameters: + 0: URL + 1: Verb (Get, Post, Put, Delete, Patch) // Patch Not implemented Yet + 2: Body as json format, could be nil if verb is Get or Delete + 3: Callback ( parameters [_fromUrl, _result] ) + + Tests: + Could be tested with https://docs.postman-echo.com/ + GET - + systemChat str (["https://postman-echo.com/get?foo1=bar1", "Get"] call GDC_fnc_restCall); + POST - + systemChat str (["https://postman-echo.com/post", "Post", "{ a: 1 }"] call GDC_fnc_restCall); + PUT - + systemChat str (["https://postman-echo.com/put", "Put", "{ a: 1 }"] call GDC_fnc_restCall); + DELETE - + systemChat str (["https://postman-echo.com/put", "Delete"] call GDC_fnc_restCall); + + Returns: + string: the body of the response +*/ + +params [ + ["_url","",[""]], + ["_verb",{},[""]], + ["_body",{},[""]], + ["_callback",{},[{}, ""]] +]; + +if(! _verb in ["Get", "Post", "Put", "Delete", "Patch"]) exitWith { + systemChat str ["Wrong verb: ", _verb]; +}; + +_response = ""; +if(_verb in ["Get", "Delete"]) then { + _response = "GDC" callExtension ["send", [_url, _verb]]; +} else { + _response = "GDC" callExtension ["send", [_url, _verb, _body]]; +}; + +if (typeName _callback == typeName {}) then { + [_url, _response] spawn _callback; +} else { + [_url, _response] execVM _callback; +}; + +_response; diff --git a/gdc_lib_main/functions/util/fn_urlFetch.sqf b/gdc_lib_main/functions/util/fn_urlFetch.sqf index c68202b..500fa07 100644 --- a/gdc_lib_main/functions/util/fn_urlFetch.sqf +++ b/gdc_lib_main/functions/util/fn_urlFetch.sqf @@ -3,48 +3,22 @@ Make a call to an url [URL, { Function }] call GDC_fnc_urlFetch; - Author & Source: http://killzonekid.com/arma-scripting-tutorials-url_fetch-callback/ - Parameter(s): - 0 : URL - 1 : Callback ( parameters [_fromUrl, _result] ) + 0: URL + 1: Callback ( parameters [_fromUrl, _result] ) Returns: string: Return nothing */ -if (isNil "url_fetch_queue") then { - url_fetch_queue = [_this]; - { - _url = _x select 0; - _scr = _x select 1; - waitUntil { - if ("url_fetch" callExtension format [ - "%1", - _url - ] == "OK") exitWith {true}; - false - }; - private "_res"; - waitUntil { - _res = "url_fetch" callExtension "OK"; - if (_res != "WAIT") exitWith {true}; - false - }; - if (_res == "ERROR") then { - 0 = [ - _url, - "url_fetch" callExtension "ERROR" - ] spawn url_fetch_error; - } else { - if (typeName _scr == typeName {}) then { - [_url, _res] spawn _scr; - } else { - [_url, _res] execVM _scr; - }; - }; - } forEach url_fetch_queue; - url_fetch_queue = nil; +params [ + ["_url","",[""]], + ["_callback",{},[{}, ""]] +]; + +_res = "GDC" callExtension ["send", [_url, "Get"]]; +if (typeName _callback == typeName {}) then { + [_url, _res] spawn _callback; } else { - url_fetch_queue set [count url_fetch_queue, _this]; -}; \ No newline at end of file + [_url, _res] execVM _callback; +}; diff --git a/gdc_lib_main/functions/util/fn_urlFetchSimple.sqf b/gdc_lib_main/functions/util/fn_urlFetchSimple.sqf deleted file mode 100644 index a7b84e0..0000000 --- a/gdc_lib_main/functions/util/fn_urlFetchSimple.sqf +++ /dev/null @@ -1,14 +0,0 @@ -/* - Description: - Make a call to an url - http://127.0.0.1 call GDC_fnc_urlFetch; - - Parameter(s): - 0 : URL - - Returns: - string: Return the result of the url call -*/ - -"url_fetch" callExtension _this; - diff --git a/gdc_lib_main/functions/util/index.hpp b/gdc_lib_main/functions/util/index.hpp index 0285525..f9722d0 100644 --- a/gdc_lib_main/functions/util/index.hpp +++ b/gdc_lib_main/functions/util/index.hpp @@ -13,5 +13,5 @@ class util class addSingleUseHoldAction {}; class waitUntilPlayerInMarker {}; class urlFetch {}; - class urlFetchSimple {}; + class restCall {}; }; diff --git a/url_fetch.dll b/url_fetch.dll deleted file mode 100644 index 390148ce35664a285a78486a8970711e07c26009..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15872 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 Date: Sun, 11 Oct 2020 23:04:49 +0200 Subject: [PATCH 2/2] Fix and tested --- gdc_lib_main/functions/util/fn_restCall.sqf | 8 ++++++-- gdc_lib_main/functions/util/fn_urlFetch.sqf | 5 +++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gdc_lib_main/functions/util/fn_restCall.sqf b/gdc_lib_main/functions/util/fn_restCall.sqf index ee92002..d64e5f5 100644 --- a/gdc_lib_main/functions/util/fn_restCall.sqf +++ b/gdc_lib_main/functions/util/fn_restCall.sqf @@ -14,12 +14,16 @@ Could be tested with https://docs.postman-echo.com/ GET - systemChat str (["https://postman-echo.com/get?foo1=bar1", "Get"] call GDC_fnc_restCall); + GET with callback - + systemChat str (["https://postman-echo.com/get?foo1=bar1", "Get", nil, { systemChat str _this }] call GDC_fnc_restCall); POST - systemChat str (["https://postman-echo.com/post", "Post", "{ a: 1 }"] call GDC_fnc_restCall); + POST with callback - + systemChat str (["https://postman-echo.com/post", "Post", "{ a: 1 }", { systemChat str _this }] call GDC_fnc_restCall); PUT - systemChat str (["https://postman-echo.com/put", "Put", "{ a: 1 }"] call GDC_fnc_restCall); DELETE - - systemChat str (["https://postman-echo.com/put", "Delete"] call GDC_fnc_restCall); + systemChat str (["https://postman-echo.com/delete", "Delete"] call GDC_fnc_restCall); Returns: string: the body of the response @@ -32,7 +36,7 @@ params [ ["_callback",{},[{}, ""]] ]; -if(! _verb in ["Get", "Post", "Put", "Delete", "Patch"]) exitWith { +if(! (_verb in ["Get", "Post", "Put", "Delete", "Patch"])) exitWith { systemChat str ["Wrong verb: ", _verb]; }; diff --git a/gdc_lib_main/functions/util/fn_urlFetch.sqf b/gdc_lib_main/functions/util/fn_urlFetch.sqf index 500fa07..5be0c47 100644 --- a/gdc_lib_main/functions/util/fn_urlFetch.sqf +++ b/gdc_lib_main/functions/util/fn_urlFetch.sqf @@ -7,6 +7,11 @@ 0: URL 1: Callback ( parameters [_fromUrl, _result] ) + Tests: + Could be tested with https://docs.postman-echo.com/ + GET - + ["https://postman-echo.com/get?foo1=bar1", { systemChat str _this }] call GDC_fnc_urlFetch; + Returns: string: Return nothing */