Http response
From Second Life Wiki
| Languages: |
English • Deutsch • Español • ελληνικά • Français • עברית • Italiano • 日本語 • 한국어 • Nederlands • Magyar • Norsk • Dansk • Svenska • Türkçe • Polski • Português • Русский • украї́нська • 中文(简体) • 中文(繁體) |
| Volunteer translated pages are linked in blue, Google translated pages are linked in grey. Learn how to provide volunteer translations. | |
| LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Tutorials |
Description
Event: http_response( key request_id, integer status, list metadata, string body ){ ; }| 32 | Event ID |
Triggered when task receives a response to one of its llHTTPRequests
| • key | request_id | – | Matches return from llHTTPRequest | |
| • integer | status | – | HTTP code (like 404 or 200) | |
| • list | metadata | – | List of HTTP_* constants and attributes | |
| • string | body |
Specification
status 499
Besides the usual HTTP status codes, SL implements a special status code 499. This code isn't generated by the remote web server but by SL's servers, it can indicate:
- Request timeout (60 seconds)
- SSL failure
- A space was present in the url (escape your URL with llEscapeURL).
| Constant | Type | Description | |
|---|---|---|---|
| HTTP_BODY_TRUNCATED | 0 | integer | Truncation point in bytes |
Examples
key http_request_id; default { state_entry() { http_request_id = llHTTPRequest("url", [], ""); } http_response(key request_id, integer status, list metadata, string body) { if (request_id == http_request_id) { llSetText(body, <0,0,1>, 1); } } }
Notes
If for some reason while using llHTTPRequest/http_response you are unable to parse a known good RSS feed or some other form of web contents, you will need to work around it outside of SecondLife. This is unlikely to change in the near future since checking the headers requires more overhead at the simulator level.
| Header | Description | Example data |
|---|---|---|
| X-SecondLife-Shard | The environment the object is in. "Production" is the main grid and "Testing" is the preview grid | Production |
| X-SecondLife-Object-Name | The name of the object containing the script | Object |
| X-SecondLife-Object-Key | The key of the object containing the script | 01234567-89ab-cdef-0123-456789abcdef |
| X-SecondLife-Region | The name of the region the object is in, along with the global coordinates of the region's south-west corner | Jin Ho (264448, 233984) |
| X-SecondLife-Local-Position | The position of the object within the region | (173.009827, 75.551231, 60.950001) |
| X-SecondLife-Local-Rotation | The rotation of the object containing the script | 0.000000, 0.000000, 0.000000, 1.000000 |
| X-SecondLife-Local-Velocity | The velocity of the object | 0.000000, 0.000000, 0.000000 |
| X-SecondLife-Owner-Name | Name of the owner of the object | Zeb Wyler |
| X-SecondLife-Owner-Key | UUID of the owner of the object | 01234567-89ab-cdef-0123-456789abcdef |
| CGI environments may place the headers into variables by capitalizing the entire name, replacing dashes with underscores, and prefixing the name with "HTTP_", e.g. "X-SecondLife-Object-Name" becomes "HTTP_X_SECONDLIFE_OBJECT_NAME". | ||

