De DigiWiki.
key url_request;
default
{
state_entry()
{
url_request = llRequestURL();
}
http_request(key id, string method, string body)
{
if (url_request == id)
{
url_request = "";
if (method == URL_REQUEST_GRANTED)
{
llOwnerSay("URL: " + body);
if(llGetAgentSize(llGetOwner()))
llLoadURL(llGetOwner(), "", body);
}
else if (method == URL_REQUEST_DENIED)
{
llOwnerSay( "Something went wrong, no url. " + body);
}
}
else
{
list headers = [ "x-script-url", "x-path-info", "x-query-string", "x-remote-ip", "user-agent" ];
integer pos = ~llGetListLength(headers);
while( ++pos )
{
string header = llList2String(headers, pos);
llOwnerSay(header + ": " + llGetHTTPHeader(id, header));
}
llOwnerSay( "body: " + body);
llHTTPResponse(id, 200, body);
}
}
}