Files
wnsrc/lua/includes/modules/http.lua
lifestorm 94063e4369 Upload
2024-08-04 22:55:00 +03:00

118 lines
2.1 KiB
Lua

--[[
| This file was obtained through the combined efforts
| of Madbluntz & Plymouth Antiquarian Society.
|
| Credits: lifestorm, Gregory Wayne Rossel JR.,
| Maloy, DrPepper10 @ RIP, Atle!
|
| Visit for more: https://plymouth.thetwilightzone.ru/
--]]
local HTTP = HTTP
--[[---------------------------------------------------------
HTTP Module. Interaction with HTTP.
-----------------------------------------------------------]]
module( "http" )
--[[---------------------------------------------------------
Get the contents of a webpage.
Callback should be
function callback( (args optional), contents, size )
-----------------------------------------------------------]]
function Fetch( url, onsuccess, onfailure, header )
local request = {
url = url,
method = "get",
headers = header or {},
success = function( code, body, headers )
if ( !onsuccess ) then return end
onsuccess( body, body:len(), headers, code )
end,
failed = function( err )
if ( !onfailure ) then return end
onfailure( err )
end
}
local success = HTTP( request )
if ( !success && onfailure ) then onfailure( "HTTP failed" ) end
end
function Post( url, params, onsuccess, onfailure, header )
local request = {
url = url,
method = "post",
parameters = params,
headers = header or {},
success = function( code, body, headers )
if ( !onsuccess ) then return end
onsuccess( body, body:len(), headers, code )
end,
failed = function( err )
if ( !onfailure ) then return end
onfailure( err )
end
}
local success = HTTP( request )
if ( !success && onfailure ) then onfailure( "HTTP failed" ) end
end
--[[
Or use HTTP( table )
local request = {
url = "http://pastebin.com/raw.php?i=3jsf50nL",
method = "post",
parameters = {
id = "548",
country = "England"
}
success = function( code, body, headers )
Msg( "Request Successful\n" )
Msg( "Code: ", code, "\n" )
Msg( "Body Length:\n", body:len(), "\n" )
Msg( "Body:\n", body, "\n" )
PrintTable( headers )
end,
failed = function( reason )
Msg( "Request failed: ", reason, "\n" )
end
}
HTTP( request )
--]]