OsSetContentType
From OpenSimulator
(Difference between revisions)
m (XEngine to OSSL) |
|||
Line 7: | Line 7: | ||
|additional_info=This function was added in 0.7.5-post-fixes | |additional_info=This function was added in 0.7.5-post-fixes | ||
The threat level was upgraded to Severe as of commit #2c2b887c8a on December 11, 2018. | The threat level was upgraded to Severe as of commit #2c2b887c8a on December 11, 2018. | ||
+ | |ossl_example=<source lang="lsl"> | ||
+ | |||
+ | // | ||
+ | // osSetContentType Script Example | ||
+ | // | ||
+ | |||
+ | key url_request; | ||
+ | |||
+ | string HTML_BODY = | ||
+ | "<!DOCTYPE html> | ||
+ | <html> | ||
+ | <body> | ||
+ | |||
+ | <h1>My First Heading</h1> | ||
+ | |||
+ | <p>My first paragraph.</p> | ||
+ | |||
+ | </body> | ||
+ | </html>"; | ||
+ | |||
+ | default | ||
+ | { | ||
+ | state_entry() | ||
+ | { | ||
+ | url_request = llRequestURL(); | ||
+ | } | ||
+ | |||
+ | http_request(key id, string method, string body) | ||
+ | { | ||
+ | key owner = llGetOwner(); | ||
+ | vector ownerSize = llGetAgentSize(owner); | ||
+ | |||
+ | if (url_request == id) | ||
+ | { | ||
+ | // if you're usually not resetting the query ID | ||
+ | // now is a good time to start! | ||
+ | url_request = ""; | ||
+ | |||
+ | if (method == URL_REQUEST_GRANTED) | ||
+ | { | ||
+ | llOwnerSay("URL: " + body); | ||
+ | |||
+ | // if owner in sim | ||
+ | if (ownerSize)// != ZERO_VECTOR | ||
+ | llLoadURL(owner, "I got a new URL!", body); | ||
+ | } | ||
+ | |||
+ | else if (method == URL_REQUEST_DENIED) | ||
+ | llOwnerSay("Something went wrong, no url:\n" + body); | ||
+ | } | ||
+ | |||
+ | else | ||
+ | { | ||
+ | llOwnerSay("request body:\n" + body); | ||
+ | |||
+ | // if owner in sim | ||
+ | if (ownerSize)// != ZERO_VECTOR | ||
+ | { | ||
+ | osSetContentType(id, CONTENT_TYPE_HTML); | ||
+ | llHTTPResponse(id, 200, HTML_BODY); | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | osSetContentType(id, CONTENT_TYPE_TEXT); | ||
+ | llHTTPResponse(id, 200, "OK"); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </source> | ||
}} | }} |
Revision as of 01:18, 25 November 2020
osSetContentType(key id, string type)
| |
Sets an arbitrary content return type for an llRequestUrl(). | |
Threat Level | Severe |
Permissions | ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER |
Extra Delay | 0 seconds |
Example(s) | |
// // osSetContentType Script Example // key url_request; string HTML_BODY = "<!DOCTYPE html> <html> <body> <h1>My First Heading</h1> <p>My first paragraph.</p> </body> </html>"; default { state_entry() { url_request = llRequestURL(); } http_request(key id, string method, string body) { key owner = llGetOwner(); vector ownerSize = llGetAgentSize(owner); if (url_request == id) { // if you're usually not resetting the query ID // now is a good time to start! url_request = ""; if (method == URL_REQUEST_GRANTED) { llOwnerSay("URL: " + body); // if owner in sim if (ownerSize)// != ZERO_VECTOR llLoadURL(owner, "I got a new URL!", body); } else if (method == URL_REQUEST_DENIED) llOwnerSay("Something went wrong, no url:\n" + body); } else { llOwnerSay("request body:\n" + body); // if owner in sim if (ownerSize)// != ZERO_VECTOR { osSetContentType(id, CONTENT_TYPE_HTML); llHTTPResponse(id, 200, HTML_BODY); } else { osSetContentType(id, CONTENT_TYPE_TEXT); llHTTPResponse(id, 200, "OK"); } } } } | |
Notes | |
This function was added in 0.7.5-post-fixes
The threat level was upgraded to Severe as of commit #2c2b887c8a on December 11, 2018. |