ns_conn - Find information about the current HTTP connection
This command is used to retrieve various pieces of information about a connection.
Returns the decoded user password from the authorization data.
Returns the decoded user name from the authorization data.
Returns all authorization headers as a ns_set. For Basic authentication there are reserved keys: Username and Password, these are the keys returned by ns_conn authuser and ns_conn authpassword. This ns_set can be updated.
Closes the connection so the script (or ADP) can do any time-consuming processing without making the client wait. If you use ns_conn close in an ADP, streaming should be turned on before closing the connection (i.e. <SCRIPT RUNAT=SERVER STREAM=ON>) or nothing will get sent out at all.
Returns the content of the HTTP request body, optionally a substring of that content starting at offset and extending length characters.
Returns the number of bytes in the content passed in.
Copies data from the current connection to chan starting at byte off for len bytes.
Returns the name of the module (nssock or nsssl) that is acting as the communications driver for this connection.
Returns any submitted form data as an ns_set. This form data may have been submitted with a POST or appended to the URL in a GET request. Note: ns_conn form is not suitable for multipart formdata file upload widgets.
Returns all the header data as an ns_set. The keys of the ns_set represent the field names. The case of the returned field names depends on the HeaderCase configuration parameter. By default, HeaderCase is "Preserve", which means case is preserved.
Returns the host part of the URL in the HTTP request.
Returns 1 if you're in a connection thread, and you are therefore allowed to make calls to ns_conn. It returns 0 if you're not in a connection thread (such as when you're in a schedule procedure) and you are not allowed to make calls to ns_conn.
Returns the location string for this virtual server in the form: protocol://hostname[:port].
Returns the HTTP method, e.g. GET.
Returns an ns_set containing the headers that will be sent out when a result is returned to the client. This ns_set can be manipulated like any other ns_set. You can also use this command to write to the set of output headers. For example: ns_set put [ns_conn outputheaders] key value.
Returns the IP address of the client, i.e. the "other side" of the HTTP connection. The IP address is returned in the form of a string separated with periods (e.g., 155.164.59.75).
Returns the port specified explicitly in the URL of the HTTP request. If the browser does not explicity send the ":port" part of the URL, the port number returned will be 0.
Returns the protocol of the URL in the HTTP request (usually unspecified).
Returns any query data that was part of the HTTP request.
Returns the HTTP request line as presented by the client, e.g. GET / HTTP/1.1.
Returns the time the connection request started in "sec:usec" (aka ns_time) format.
Returns the URL of the HTTP request. This is the portion of the request after the hostname, for example [ns_conn url] on returns /index.adp.
Returns the number of elements (delimited by `/') in the URL of the HTTP request.
Returns a list containing the pieces of the URL delimited by `/'.
Returns the version of the HTTP request. This is usually 1.0 or 1.1.
Returns name of the temprorary file which holds contents of the request. This only works when maxupload parameter to nssock driver is set to the value between 1K and maxinput
if { [string match /page/* [ns_conn url]] } {
ns_returnnotfound
}