wiki.sine.space | sinespace

Difference between revisions of "Scripting/SWebService"

From wiki.sine.space
Jump to: navigation, search
(Replaced content with "This page has moved to: https://docs.sine.space/v/scripting/client-scripting/network/swebservice")
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
The SWebService class allows you to contact servers you control via HTTP[S] and GET or POST data strings.
+
This page has moved to: https://docs.sine.space/v/scripting/client-scripting/network/swebservice
 
+
==Whitelisting==
+
To prevent Space users from unintentionally becoming part of a DDoS botnet, the Space client will first check for a file on a domain before allowing communications with the domain. If this file cannot be found, it will no longer communicate with that domain until the user logs.
+
 
+
To setup your server for communication with space, in the root of your domain, on the port you are using, place a file named 'sinewave.space.scripting.txt' containing 'SPACE_OK'. E.g. http://somewhere.com/sinewave.space.scripting.txt - if this file is not present, you will be unable to use scripting to communicate with the domain. ''Note: you should use HTTPS for all API calls if you want these to work reliably in WebGL. You may also need to implement a CORS policy in your webserver headers.''
+
 
+
==Members==
+
{{ScriptFunction|void|Get|(string url, Action<SWebResponse> onComplete);|Performs a HTTP[S] GET against URL and returns the contents as a SWebResponse|5 = local value1 = "SomeValue1"<br>
+
local value2 = "SomeValue2"<br>
+
local sentData = "http://www.someplace.net/someScript.php?variable1=" .. value1 .. "&variable2=" .. value2<br>
+
<br>
+
local response = function(data)<br>
+
&nbsp;&nbsp;if data.Error == "" or data.Error == nil then<br>
+
&nbsp;&nbsp;&nbsp;&nbsp;Space.Log(data.Response)<br>
+
&nbsp;&nbsp;end<br>
+
end<br>
+
<br>
+
webService.Get(sentData, response)<br>
+
-- NOTE: variable1 and variable2 would match Get variables in someScript.php.}}
+
 
+
{{ScriptFunction|void|Post|(string url, string data, Action<SWebResponse> onComplete);|Performs a HTTP[S] POST against URL using data as a post string and returns the contents as a SWebResponse|5 = local value1 = "SomeValue1"<br>
+
local value2 = "SomeValue2"<br>
+
local url = "http://www.someplace.net/someScript.php"<br>
+
local sentData = "variable1=" .. value1 .. "&variable2=" .. value2<br>
+
<br>
+
local response = function(data)<br>
+
&nbsp;&nbsp;if data.Error == "" or data.Error == nil then<br>
+
&nbsp;&nbsp;&nbsp;&nbsp;Space.Log(data.Response)<br>
+
&nbsp;&nbsp;end<br>
+
end<br>
+
<br>
+
webService.Post(url, sentData, response)<br>
+
-- NOTE: variable1 and variable2 would match Post variables in someScript.php.}}
+
 
+
{{ScriptFunction|SResource|GetImage|(string url);|Returns a valid SResource for a image on a remote domain that can be used via e.g. [[Scripting/SMaterial]]. While the image loads, it will be a white pixel that will be substituted with the real image once loaded.|5 = local webService = Space.WebServices<br>
+
<br>
+
-- PresenterCube is a cube object attached to the script in Object References<br>
+
local presenter =  Space.Host.GetReference("PresenterCube")<br>
+
local meshRenderer = presenter.MeshRenderer<br>
+
<br>
+
local webImage = webService.GetImage("http://someplace.net/someImage.png")<br>
+
meshRenderer.material.SetTexture("_MainTex",  webImage)<br>
+
-- Displays webImage on the cube's albedo (_MainTex) slot}}
+
 
+
{{Scripting Navbox}}
+

Latest revision as of 07:06, 19 September 2022

This page has moved to: https://docs.sine.space/v/scripting/client-scripting/network/swebservice