LlRequestURL: Difference between revisions
Jump to navigation
Jump to search
Omei Qunhua (talk | contribs) m Corrected 2nd example which had been corrupted by a previous editor on 24-Sept-12 so that it would not compile |
I agree, not necessary. |
||
| Line 47: | Line 47: | ||
changed(integer change) | changed(integer change) | ||
{ | { | ||
if (change & (CHANGED_OWNER | if (change & (CHANGED_OWNER)) | ||
{ | { | ||
llReleaseURL(url); | llReleaseURL(url); | ||
llResetScript(); | llResetScript(); | ||
} | } | ||
Revision as of 20:43, 17 April 2013
| LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: key llRequestURL( );| 0.0 | Forced Delay |
| 10.0 | Energy |
Requests one HTTP:// url for use by this script. The http_request event is triggered with the result of the request.
Returns a key that is the handle used for identifying the result in the http_request event.
Caveats
- When a region is (re)started all HTTP server URLs are automatically released and invalidated.
- Use CHANGED_REGION_START to detect this so new URL can be requested.
- The number of available URLs is a limited resource, that is to say, a script can only have so many open URLs. See LSL http_server#Resource Limitations for details.
- When abandoning a URL, always release it with llReleaseURL, otherwise it will leak.
Examples
| Important: Never ever forget to release a URL again which you have requested! URLs are region resources just like prims. If you take them all you can get into big trouble with the sim owner and/or estate managers. |
This script requests a new URL after region restart: <lsl> string url; key urlRequestId; key selfCheckRequestId;
request_url() {
llReleaseURL(url); url = "";
urlRequestId = llRequestURL();
}
throw_exception(string inputString) {
key owner = llGetOwner(); llInstantMessage(owner, inputString);
// yeah, bad way to handle exceptions by restarting. // However this is just a demo script...
llResetScript();
}
default {
on_rez(integer start_param)
{
llResetScript();
}
changed(integer change)
{
if (change & (CHANGED_OWNER))
{
llReleaseURL(url);
llResetScript();
}
if (change & (CHANGED_REGION
See Also
Functions
| • | llRequestSecureURL | |||
| • | llGetFreeURLs | |||
| • | llReleaseURL | |||
| • | llHTTPResponse | |||
| • | llGetHTTPHeader |
Articles
| • | LSL http server |