Difference between revisions of "LlHTTPResponse"

From Second Life Wiki
Jump to navigation Jump to search
m (~caveat)
Line 9: Line 9:
|return_text
|return_text
|spec
|spec
|caveats=*This call must be made by the script containing the [[http_request]] event where the '''request_id''' was received.
|caveats=* This call must be made by the script containing the [[http_request]] event where the '''request_id''' was received.
*Remember that the '''body''' of [[http_request]] is [[limit]]ed to 2048 [[bytes]], so if responding to an SL object, anything over 2K characters sent with this function will be lost at the receiver.
* If '''body''' content greater than 2048 bytes, sent in response to [[llHTTPRequest]], will be truncated to 2048 bytes by [[http_response]] in the receiving script
** This limit does not apply to shared media {{HoverText|MOAP|Media On A Prim}}
|constants
|constants
|examples=
|examples=

Revision as of 00:57, 21 April 2011

Summary

Function: llHTTPResponse( key request_id, integer status, string body );
0.0 Forced Delay
10.0 Energy

Responds to request_id with status and body.

• key request_id A valid HTTP request key.
• integer status HTTP Status (200, 400, 404, etc)
• string body Contents of the response.

The response need not be made inside the http_request event but if it does not happen in a timely fashion the request will time out (within 25 seconds).

Caveats

  • This call must be made by the script containing the http_request event where the request_id was received.
  • If body content greater than 2048 bytes, sent in response to llHTTPRequest, will be truncated to 2048 bytes by http_response in the receiving script
    • This limit does not apply to shared media MOAP

Examples

<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

Events

•  http_request

Functions

•  llGetFreeURLs
•  llRequestURL
•  llRequestSecureURL
•  llReleaseURL
•  llGetHTTPHeader

Articles

•  LSL http server

Deep Notes

History

Signature

function void llHTTPResponse( key request_id, integer status, string body );