Difference between revisions of "Http request"

From Second Life Wiki
Jump to navigation Jump to search
m
Line 8: Line 8:
|spec=See [[LSL_http_server]] for full specification.
|spec=See [[LSL_http_server]] for full specification.
|caveats=
|caveats=
*'''body''' is [[limit]]ed to 2047 bytes; anything longer will be truncated to 2047 bytes.
* '''body''' is [[limit]]ed to 2047 bytes; anything longer will be truncated to 2047 bytes.
*headers (accessed with [[llGetHTTPHeader]]) are limited to 255 bytes.
* headers (accessed with [[llGetHTTPHeader]]) are limited to 255 bytes.
* There is a limit of 64 pending http_request
|examples=
|examples=
See [[LSL_http_server/examples]] for some examples from the feature design phase.
See [[LSL_http_server/examples]] for some examples from the feature design phase.

Revision as of 06:44, 14 July 2009

Description

Event: http_request( key request_id, string method, string body ){ ; }

Triggered when task receives an HTTP request.

• key request_id HTTP request id for response use, and function response identification.
• string method GET, POST, PUT
• string body Contents of the request.

Specification

See LSL_http_server for full specification.

Caveats

  • body is limited to 2047 bytes; anything longer will be truncated to 2047 bytes.
  • headers (accessed with llGetHTTPHeader) are limited to 255 bytes.
  • There is a limit of 64 pending http_request
All Issues ~ Search JIRA for related Bugs

Examples

See LSL_http_server/examples for some examples from the feature design phase. <lsl>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)
           {
               llSay(0,"URL: " + body);
           }
           else if (method == URL_REQUEST_DENIED)
           {
               llSay(0, "Something went wrong, no url. " + body);
           }
       }
       else
       {
           llHTTPResponse(id, 200, body);
       }
   }

}</lsl>

See Also

Functions

•  llRequestURL Request a new LSL Server public URL
•  llRequestSecureURL Request a new LSL Server public URL
•  llReleaseURL Release a URL
•  llHTTPResponse For replying to HTTP requests
•  llGetHTTPHeader Returns the requested HTTP header's value
•  llEscapeURL
•  llUnescapeURL

Deep Notes

Issues

All Issues

~ Search JIRA for related Issues
   Design: LSL http_server

Signature

event void http_request( key request_id, string method, string body );