---+ Package =TWiki::Response= Class to encapsulate response data. Fields: * =status= - response status * =headers= - hashref to response headers * =body= - response body * =cookies= - hashref to response cookies %TOC% ---++ ClassMethod *new* () -> $response Constructs a TWiki::Response object. ---++ ObjectMethod *status* ($status) -> $status Gets/Sets response status. * =$status= is a three digit code, optionally followed by a status string ---++ ObjectMethod *charset* ([$charset]) -> $charset Gets/Sets response charset. If not defined, defaults to ISO-8859-1, just like CGI.pm ---++ ObjectMethod *header* (-type=>$type, -status => $status, -cookie => $cookie || \@cookies, -attachment => $attachName, -charset => $charset, -expires => $expires, -HeaderN => ValueN ) Sets response header. Resonably compatible with CGI. Doesn't support -nph, -target and -p3p. ---++ ObjectMethod *_header* (-type=>$type, -status => $status, -cookie => $cookie || \@cookies, -attachment => $attachName, -charset => $charset, -expires => $expires, -HeaderN => ValueN ) Private method to set response header like above that doesn't include fix for Item6602. Resonably compatible with CGI. Doesn't support -nph, -target and -p3p. ---++ ObjectMethod *headers* ({...}) -> $headersHashRef Gets/Sets all response headers. Keys are headers name and values are scalars for single-valued headers or arrayref for multivalued ones. ---++ ObjectMethod *getHeader* ([$name]) -> $value If called without parameters returns all present header names, otherwise returns a list (maybe with a single element) of values associated with $name. ---++ ObjectMethod *deleteHeader* ($h1,$h2,...) Deletes headers whose names are passed. ---++ ObjectMethod *pushHeader* ($name,$value) Adds $value to list of values associated with header $name. ---++ ObjectMethod *cookies* ([\@cookies]) -> @cookies Gets/Sets response cookies. Parameter, if passed, *must* be an arrayref. Elements may be CGI::Cookie objects or raw cookie strings. ---++ ObjectMethod *body* ([$body]) -> $body Gets/Sets response body. ---++ ObjectMethod *redirect* ($uri,$status,$cookies| -Location => $uri, -Status => $status, -Cookies => $cookies ) Populate object with redirect response headers. =$uri= *must* be passed. Others are optional. CGI Compatibility Note: It doesn't support -target or -nph ---++ ObjectMethod *setDefaultHeaders* ({$name=>$value,...}) Sets the header, this does not modify the existing key=>value from $this->{headers}. Sets only new values.