Docs: Port Code Examples to C# (F, G, H, I, J, K, L)
Includes: * File * Geometry2D * HashingContext * HTTPClient * HTTPRequest * Image * Input * int * ItemList * JSONParseResult * KinematicBody2D * LineEdit Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
This commit is contained in:
@@ -112,17 +112,31 @@
|
||||
</argument>
|
||||
<description>
|
||||
Generates a GET/POST application/x-www-form-urlencoded style query string from a provided dictionary, e.g.:
|
||||
[codeblock]
|
||||
[codeblocks]
|
||||
[gdscript]
|
||||
var fields = {"username": "user", "password": "pass"}
|
||||
var query_string = http_client.query_string_from_dict(fields)
|
||||
# Returns "username=user&password=pass"
|
||||
[/codeblock]
|
||||
[/gdscript]
|
||||
[csharp]
|
||||
var fields = new Godot.Collections.Dictionary { { "username", "user" }, { "password", "pass" } };
|
||||
string queryString = new HTTPClient().QueryStringFromDict(fields);
|
||||
// Returns "username=user&password=pass"
|
||||
[/csharp]
|
||||
[/codeblocks]
|
||||
Furthermore, if a key has a [code]null[/code] value, only the key itself is added, without equal sign and value. If the value is an array, for each value in it a pair with the same key is added.
|
||||
[codeblock]
|
||||
[codeblocks]
|
||||
[gdscript]
|
||||
var fields = {"single": 123, "not_valued": null, "multiple": [22, 33, 44]}
|
||||
var query_string = http_client.query_string_from_dict(fields)
|
||||
# Returns "single=123&not_valued&multiple=22&multiple=33&multiple=44"
|
||||
[/codeblock]
|
||||
[/gdscript]
|
||||
[csharp]
|
||||
var fields = new Godot.Collections.Dictionary{{"single", 123}, {"notValued", null}, {"multiple", new Godot.Collections.Array{22, 33, 44}}};
|
||||
string queryString = new HTTPClient().QueryStringFromDict(fields);
|
||||
// Returns "single=123&not_valued&multiple=22&multiple=33&multiple=44"
|
||||
[/csharp]
|
||||
[/codeblocks]
|
||||
</description>
|
||||
</method>
|
||||
<method name="read_response_body_chunk">
|
||||
@@ -147,12 +161,20 @@
|
||||
Sends a request to the connected host. The URL parameter is just the part after the host, so for [code]http://somehost.com/index.php[/code], it is [code]index.php[/code].
|
||||
Headers are HTTP request headers. For available HTTP methods, see [enum Method].
|
||||
To create a POST request with query strings to push to the server, do:
|
||||
[codeblock]
|
||||
[codeblocks]
|
||||
[gdscript]
|
||||
var fields = {"username" : "user", "password" : "pass"}
|
||||
var query_string = http_client.query_string_from_dict(fields)
|
||||
var headers = ["Content-Type: application/x-www-form-urlencoded", "Content-Length: " + str(query_string.length())]
|
||||
var result = http_client.request(http_client.METHOD_POST, "index.php", headers, query_string)
|
||||
[/codeblock]
|
||||
[/gdscript]
|
||||
[csharp]
|
||||
var fields = new Godot.Collections.Dictionary { { "username", "user" }, { "password", "pass" } };
|
||||
string queryString = new HTTPClient().QueryStringFromDict(fields);
|
||||
string[] headers = {"Content-Type: application/x-www-form-urlencoded", "Content-Length: " + queryString.Length};
|
||||
var result = new HTTPClient().Request(HTTPClient.Method.Post, "index.php", headers, queryString);
|
||||
[/csharp]
|
||||
[/codeblocks]
|
||||
[b]Note:[/b] The [code]request_data[/code] parameter is ignored if [code]method[/code] is [constant HTTPClient.METHOD_GET]. This is because GET methods can't contain request data. As a workaround, you can pass request data as a query string in the URL. See [method String.http_escape] for an example.
|
||||
</description>
|
||||
</method>
|
||||
|
||||
Reference in New Issue
Block a user