<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://g1r-mp.com/wiki/index.php?action=history&amp;feed=atom&amp;title=RequestRemote</id>
	<title>RequestRemote - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://g1r-mp.com/wiki/index.php?action=history&amp;feed=atom&amp;title=RequestRemote"/>
	<link rel="alternate" type="text/html" href="https://g1r-mp.com/wiki/index.php?title=RequestRemote&amp;action=history"/>
	<updated>2026-09-19T07:26:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://g1r-mp.com/wiki/index.php?title=RequestRemote&amp;diff=871&amp;oldid=prev</id>
		<title>QCherry: Document expanded scripting capacities and complete audited limits for 0.1.3 BUILD81</title>
		<link rel="alternate" type="text/html" href="https://g1r-mp.com/wiki/index.php?title=RequestRemote&amp;diff=871&amp;oldid=prev"/>
		<updated>2026-09-12T11:51:42Z</updated>

		<summary type="html">&lt;p&gt;Document expanded scripting capacities and complete audited limits for 0.1.3 BUILD81&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:51, 12 September 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;!-- This page is generated automatically from the function definition: requestRemote. --&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= requestRemote =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= requestRemote =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Queues a bounded asynchronous HTTP or HTTPS request from a server-side resource.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Queues a bounded asynchronous HTTP or HTTPS request from a server-side resource.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l67&quot;&gt;Line 67:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 66:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Only HTTP and HTTPS are accepted. Loopback, private, link-local, reserved, documentation, and mixed public/private DNS results are rejected. Every redirect target is resolved and validated again.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Only HTTP and HTTPS are accepted. Loopback, private, link-local, reserved, documentation, and mixed public/private DNS results are rejected. Every redirect target is resolved and validated again.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* DNS answers are pinned for each transfer to prevent rebinding between validation and connection. TLS certificate and hostname verification remain enabled.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* DNS answers are pinned for each transfer to prevent rebinding between validation and connection. TLS certificate and hostname verification remain enabled.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Default hard &lt;/del&gt;limits are &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1 &lt;/del&gt;MiB request bodies, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2 &lt;/del&gt;MiB response bodies, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;32 &lt;/del&gt;request headers, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;16 KiB &lt;/del&gt;response headers, 3 attempts, 10 seconds to connect, 30 seconds total&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;3 redirects, and &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;4 &lt;/del&gt;pending requests per resource.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Hard &lt;/ins&gt;limits are &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;4 &lt;/ins&gt;MiB request bodies, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;8 &lt;/ins&gt;MiB response bodies, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;128 &lt;/ins&gt;request headers, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;256 &lt;/ins&gt;response headers&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, 64 KiB aggregate header bytes&lt;/ins&gt;, 3 attempts, 10 seconds to connect, 30 seconds total &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and &lt;/ins&gt;3 redirects&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Compiled service defaults: 8 workers&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;256 queued work items &lt;/ins&gt;and &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;32 &lt;/ins&gt;pending requests per resource.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* If a body is supplied without an explicit method, the method defaults to &amp;lt;code&amp;gt;POST&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* If a body is supplied without an explicit method, the method defaults to &amp;lt;code&amp;gt;POST&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Credentials remain server-side, but resources should still avoid placing secrets in URLs or logs.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Credentials remain server-side, but resources should still avoid placing secrets in URLs or logs.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Expanded limits apply from update 0.1.3 BUILD81. See [[Scripting limits]]; earlier 0.1.3 binaries retain their old limits.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Lua Functions]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Lua Functions]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>QCherry</name></author>
	</entry>
	<entry>
		<id>https://g1r-mp.com/wiki/index.php?title=RequestRemote&amp;diff=660&amp;oldid=prev</id>
		<title>QCherry: Document asynchronous server-side HTTP API</title>
		<link rel="alternate" type="text/html" href="https://g1r-mp.com/wiki/index.php?title=RequestRemote&amp;diff=660&amp;oldid=prev"/>
		<updated>2026-08-24T12:48:53Z</updated>

		<summary type="html">&lt;p&gt;Document asynchronous server-side HTTP API&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!-- This page is generated automatically from the function definition: requestRemote. --&amp;gt;&lt;br /&gt;
= requestRemote =&lt;br /&gt;
Queues a bounded asynchronous HTTP or HTTPS request from a server-side resource.&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
number|false requestRemote(string url [, table options], function callback [, table callbackArguments])&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Name !! Type !! Required !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; || yes || The absolute public &amp;lt;code&amp;gt;http://&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;https://&amp;lt;/code&amp;gt; URL to request, up to 2048 bytes.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;options&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;table&amp;lt;/code&amp;gt; || no || Optional request settings: &amp;lt;code&amp;gt;method&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;postData&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;body&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;headers&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;connectionAttempts&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;connectTimeout&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;timeout&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;maxRedirects&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;callback&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;function&amp;lt;/code&amp;gt; || yes || Called as &amp;lt;code&amp;gt;callback(responseBody, responseInfo, ...callbackArguments)&amp;lt;/code&amp;gt; on the resource&amp;#039;s server tick.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;callbackArguments&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;table&amp;lt;/code&amp;gt; || no || Optional one-based array whose values are appended to the callback arguments.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Returns ==&lt;br /&gt;
Returns a numeric request identifier when queued, or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; when validation, service availability, or resource limits reject the request.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
=== Example 1 ===&lt;br /&gt;
Read and decode a JSON response:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot; line&amp;gt;&lt;br /&gt;
local requestId = requestRemote(&amp;quot;https://api.example.com/status&amp;quot;, {&lt;br /&gt;
    headers = { Accept = &amp;quot;application/json&amp;quot; },&lt;br /&gt;
    connectTimeout = 3000,&lt;br /&gt;
    timeout = 10000&lt;br /&gt;
}, function(body, info, label)&lt;br /&gt;
    if not info.success then&lt;br /&gt;
        outputDebugString(label .. &amp;quot; failed: &amp;quot; .. (info.error or &amp;quot;unknown error&amp;quot;))&lt;br /&gt;
        return&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local data, errorMessage = fromJSON(body)&lt;br /&gt;
    if data == false then&lt;br /&gt;
        outputDebugString(errorMessage)&lt;br /&gt;
        return&lt;br /&gt;
    end&lt;br /&gt;
    outputDebugString(label .. &amp;quot; returned HTTP &amp;quot; .. info.statusCode)&lt;br /&gt;
end, {&amp;quot;status service&amp;quot;})&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Example 2 ===&lt;br /&gt;
Send a JSON POST request:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot; line&amp;gt;&lt;br /&gt;
local payload = assert(toJSON({ event = &amp;quot;player_join&amp;quot;, playerId = playerId }))&lt;br /&gt;
&lt;br /&gt;
requestRemote(&amp;quot;https://api.example.com/events&amp;quot;, {&lt;br /&gt;
    method = &amp;quot;POST&amp;quot;,&lt;br /&gt;
    body = payload,&lt;br /&gt;
    headers = { [&amp;quot;Content-Type&amp;quot;] = &amp;quot;application/json&amp;quot; }&lt;br /&gt;
}, function(body, info)&lt;br /&gt;
    if not info.success then&lt;br /&gt;
        outputDebugString(info.error or &amp;quot;Remote request failed&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
end)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
* Available only in server-side resource scripts.&lt;br /&gt;
* The callback information table contains &amp;lt;code&amp;gt;requestId&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;success&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;statusCode&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;headers&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;effectiveUrl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bytesReceived&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;durationMs&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;attempts&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;aborted&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;error&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Only HTTP and HTTPS are accepted. Loopback, private, link-local, reserved, documentation, and mixed public/private DNS results are rejected. Every redirect target is resolved and validated again.&lt;br /&gt;
* DNS answers are pinned for each transfer to prevent rebinding between validation and connection. TLS certificate and hostname verification remain enabled.&lt;br /&gt;
* Default hard limits are 1 MiB request bodies, 2 MiB response bodies, 32 request headers, 16 KiB response headers, 3 attempts, 10 seconds to connect, 30 seconds total, 3 redirects, and 4 pending requests per resource.&lt;br /&gt;
* If a body is supplied without an explicit method, the method defaults to &amp;lt;code&amp;gt;POST&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Credentials remain server-side, but resources should still avoid placing secrets in URLs or logs.&lt;br /&gt;
&lt;br /&gt;
[[Category:Lua Functions]]&lt;br /&gt;
[[Category:Server Functions]]&lt;br /&gt;
[[Category:Utility Functions]]&lt;br /&gt;
[[Category:HTTP Functions]]&lt;/div&gt;</summary>
		<author><name>QCherry</name></author>
	</entry>
</feed>