class

WebReq

abstract class WebReq : Obj

WebReq encapsulates a web request.

See pod doc.

fields modBase

Base URI of the current WebMod

mod

Get the WebMod which is currently responsible for processing this request

methods headers

Map of HTTP request headers

method

The HTTP request method in uppercase

in

Get the stream to read request body

session

Get the session associated with this browser "connection"

socketOptions

Access to socket options for this request

remotePort

Get the IP port of the client socket making this request

isPost

Return if the method is POST

uri

The request URI including the query string relative to this authority

version

The HTTP version of the request

cookies

Map of cookie values keyed by cookie name

isGet

Return if the method is GET

locales

Get the accepted locales for this request based on the "Accept-Language" HTTP header

form

Get the key/value pairs of the form data

parseMultiPartForm

Given a web request

absUri

The absolute request URI including the full authority and the query string

modRel

WebMod relative part of the URI - see modBase

remoteAddr

Get the IP host address of the client socket making this request

stash

Stash allows you to stash objects on the WebReq object in order to pass data b/w Weblets while processing this request

absUri virtual Uri absUri()

The absolute request URI including the full authority and the query string. Also see uri, modBase, and modRel. This method is equivalent to:

"http://" + headers["Host"] + uri

Examples:

http://www.foo.com/a/b/c
http://www.foo.com/a?q=bar

cookies virtual Str:Str cookies()

Map of cookie values keyed by cookie name. The cookies map is readonly and case insensitive.

form virtual [Str:Str]? form()

Get the key/value pairs of the form data. If the request content type is "application/x-www-form-urlencoded", then the first time this method is called the request content is read and parsed using Uri.decodeQuery. If the content type is not "application/x-www-form-urlencoded" this method returns null.

headers abstract Str:Str headers()

Map of HTTP request headers. The headers map is readonly and case insensitive (see Map.caseInsensitive).

Examples:

req.headers["Accept-Language"]

in abstract InStream in()

Get the stream to read request body. See WebUtil.makeContentInStream to check under which conditions request content is available. If request content is not available, then throw an exception.

If the client specified the "Expect: 100-continue" header, then the first access of the request input stream will automatically send the client a 100 Continue response.

isGet abstract Bool isGet()

Return if the method is GET

isPost abstract Bool isPost()

Return if the method is POST

locales virtual Locale[] locales()

Get the accepted locales for this request based on the "Accept-Language" HTTP header. List is sorted by preference, where locales.first is best, and locales.last is worst. This list is guarenteed to contain Locale("en").

method abstract Str method()

The HTTP request method in uppercase. Example: GET, POST, PUT.

mod abstract WebMod : mod

Get the WebMod which is currently responsible for processing this request.

modBase Uri : modBase

Base URI of the current WebMod. This Uri always ends in a slash. This is the URI used to route to the WebMod itself. The remainder of uri is stored in modRel so that the following always holds true (with exception of a trailing slash):

modBase + modRel == uri

For example if the current WebMod is mounted as /mod then:

uri          modBase   modRel
----------   -------   -------
`/mod`       `/mod/`   ``
`/mod/`      `/mod/`   ``
`/mod?q`     `/mod/`   `?q`
`/mod/a`     `/mod/`   `a`
`/mod/a/b`   `/mod/`   `a/b`

modRel Uri modRel()

WebMod relative part of the URI - see modBase.

parseMultiPartForm Void parseMultiPartForm(|Str,InStream,Str:Str| cb)

Given a web request:

  1. check that the content-type is form-data
  2. get the boundary string
  3. invoke callback for each part (see WebUtil.parseMultiPart)

For each part in the stream call the given callback function with the part's form name, headers, and an input stream used to read the part's body.

remoteAddr abstract IpAddr remoteAddr()

Get the IP host address of the client socket making this request.

remotePort abstract Int remotePort()

Get the IP port of the client socket making this request.

session abstract WebSession session()

Get the session associated with this browser "connection". The session must be accessed the first time before the response is committed.

socketOptions abstract SocketOptions socketOptions()

Access to socket options for this request.

stash virtual Str:Obj? stash()

Stash allows you to stash objects on the WebReq object in order to pass data b/w Weblets while processing this request.

uri abstract Uri uri()

The request URI including the query string relative to this authority. Also see absUri, modBase, and modRel.

Examples:

/a/b/c
/a?q=bar

version abstract Version version()

The HTTP version of the request.

Haxall 4.0.5 ∙ 24-Feb-2026 14:33 EST