WebKit.HTTPResponse | index /usr/local/share/webware/WebKit/HTTPResponse.py

`HTTP responses`

Classes

``

WebKit.Response.Response(WebKit.Message.Message)
  HTTPResponse

class HTTPResponse(WebKit.Response.Response)

``

Method resolution order:
  HTTPResponse
  WebKit.Response.Response
  WebKit.Message.Message
  __builtin__.object

Methods defined here:

__init__(self, transaction, strmOut, headers=None)
  `Initialize the request.`

addCookie(self, cookie)
  `Add a cookie that will be sent with this response.
  cookie is a Cookie object instance. See WebKit.Cookie.`

clearCookies(self)
  `Clear all the cookies.`

clearHeaders(self)
  `Clear all the headers.
  You might consider a setHeader('Content-Type', 'text/html')
  or something similar after this.`

commit(self)
  `Commit response.
  Write out all headers to the reponse stream, and tell the underlying
  response stream it can start sending data.`

cookie(self, name)
  `Return the value of the specified cookie.`

cookies(self)
  `Get all the cookies.
  Returns a dictionary-style object of all Cookie objects that will
  be sent with this response.`

delCookie(self, name, path='/', secure=False)
  `Delete a cookie at the browser.
  To do so, one has to create and send to the browser a cookie with
  parameters that will cause the browser to delete it.`

deliver(self)
  `Deliver response.
  The final step in the processing cycle.
  Not used for much with responseStreams added.`

displayError(self, err)
  `Display HTTPException errors, with status codes.`

flush(self, autoFlush=True)
  `Send all accumulated response data now.
  Commits the response headers and tells the underlying stream to flush.
  if autoFlush is true, the responseStream will flush itself automatically
  from now on.
  Caveat: Some webservers, especially on Win, will still buffer the output
  from your servlet until it terminates before transmitting the results
  to the browser. Also, server modules for Apache like mod_deflate or
  mod_gzip may do buffering of their own that will cause flush() to not
  result in data being sent immediately to the client. You can prevent
  this by setting a no-gzip note in the Apache configuration, e.g.
  SetEnvIf Request_URI ^/wk/MyServlet no-gzip=1
  Even the browser may buffer its input before displaying it. For example,
  Netscape buffered text until it received an end-of-line or the beginning
  of a tag, and it didn't render tables until the end tag of the outermost
  table was seen. Some Firefox add-ons also buffer response data before it
  gets rendered. Some versions of MSIE will only start to display the page
  after they have received 256 bytes of output, so you may need to send
  extra whitespace before flushing to get MSIE to display the page.`

hasCookie(self, name)
  `Return True if the specified cookie is present.`

hasHeader(self, name)

header(self, name, default=<class 'MiscUtils.NoDefault'>)
  `Return the value of the specified header.`

headers(self, name=None)
  `Return all the headers.
  Returns a dictionary-style object of all header objects contained by
  this request.`

isCommitted(self)
  `Check whether response is already commited.
  Checks whether the reponse has already been partially or completely sent.
  If this returns true, no new headers/cookies can be added
  to the response.`

mergeTextHeaders(self, headerstr)
  `Merge text into our headers.
  Given a string of headers (separated by newlines),
  merge them into our headers.`

protocol(self)
  `Return the name and version of the protocol.`

rawResponse(self)
  `Return the final contents of the response.
  Don't invoke this method until after deliver().
  Returns a dictionary representing the response containing only
  strings, numbers, lists, tuples, etc. with no backreferences.
  That means you don't need any special imports to examine the contents
  and you can marshal it. Currently there are two keys. 'headers' is
  list of tuples each of which contains two strings: the header and
  it's value. 'contents' is a string (that may be binary, for example,
  if an image were being returned).`

recordSession(self)
  `Record session ID.
  Invoked by commit() to record the session ID in the response
  (if a session exists). This implementation sets a cookie for
  that purpose. For people who don't like sweets, a future version
  could check a setting and instead of using cookies, could parse
  the HTML and update all the relevant URLs to include the session ID
  (which implies a big performance hit). Or we could require site
  developers to always pass their URLs through a function which adds
  the session ID (which implies pain). Personally, I'd rather just
  use cookies. You can experiment with different techniques by
  subclassing Session and overriding this method. Just make sure
  Application knows which "session" class to use.
  It should be also considered to automatically add the server port
  to the cookie name in order to distinguish application instances
  running on different ports on the same server, or to use the port
  cookie-attribute introduced with RFC 2965 for that purpose.`

reset(self)
  `Reset the response (such as headers, cookies and contents).`

sendError(self, code, msg='')
  `Set the status code to the specified code and message.`

sendRedirect(self, url, status=None)
  `Redirect to another url.
  This method sets the headers and content for the redirect, but does
  NOT change the cookies. Use clearCookies() as appropriate.
  See http://www.ietf.org/rfc/rfc2616 (section 10.3.3),
  http://www.ietf.org/rfc/rfc3875 (section 6.2.3) and
  http://support.microsoft.com/kb/176113
  (removing cookies by IIS is considered a bug).`

sendRedirectPermanent(self, url)
  `Redirect permanently to another URL.`

sendRedirectSeeOther(self, url)
  `Redirect to a URL that shall be retrieved with GET.
  This method exists primarily to allow for the PRG pattern.
  See http://en.wikipedia.org/wiki/Post/Redirect/Get`

sendRedirectTemporary(self, url)
  `Redirect temporarily to another URL.`

setCookie(self, name, value, path='/', expires='ONCLOSE', secure=False)
  `Set a cookie.
  You can also set the path (which defaults to /).
  You can also set when it expires. It can expire:
  'NOW': this is the same as trying to delete it, but it
  doesn't really seem to work in IE
  'ONCLOSE': the default behavior for cookies (expires when
  the browser closes)
  'NEVER': some time in the far, far future.
  integer: a timestamp value
  tuple or struct_time: a tuple, as created by the time module
  datetime: a datetime.datetime object for the time (if without
  time zone, assumed to be *local*, not GMT time)
  timedelta: a duration counted from the present, e.g.,
  datetime.timedelta(days=14) (2 weeks in the future)
  '+...': a time in the future, '...' should be something like
  1w (1 week), 3h46m (3:45), etc. You can use y (year),
  b (month), w (week), d (day), h (hour), m (minute),
  s (second). This is done by the MiscUtils.DateInterval.`

setErrorHeaders(self, err)
  `Set error headers for an HTTPException.`

setHeader(self, name, value)
  `Set a specific header by name.
  Parameters:
  name: the header name
  value: the header value`

setStatus(self, code, msg='')
  `Set the status code of the response, such as 200, 'OK'.`

size(self)
  `Return the size of the final contents of the response.
  Don't invoke this method until after deliver().`

write(self, charstr=None)
  `Write charstr to the response stream.
  charstr must be convertible into an ordinary string.
  Unicode strings with special characters must therefore
  be encoded before they can be written.`

writeHeaders(self)
  `Write headers to the response stream. Used internally.`

Methods inherited from WebKit.Response.Response:

clearTransaction(self)

endTime(self)

recordEndTime(self)
  `Record the end time of the response.
  Stores the current time as the end time of the response. This should
  be invoked at the end of deliver(). It may also be invoked by the
  application for those responses that never deliver due to an error.`

streamOut(self)

Methods inherited from WebKit.Message.Message:

arg(self, name, default=<class 'MiscUtils.NoDefault'>)

argNames(self)
  `Return a list of argument names.`

clearArgs(self)

deleteArg(self, name)

hasArg(self, name)

setArg(self, name, value)

writeExceptionReport(self, handler)

Static methods inherited from WebKit.Message.Message:

contentLength()
  `Return the length of the message body or -1 if not known.`

contentType()
  `Return the MIME type of the message body or None if not known.`

Data descriptors inherited from WebKit.Message.Message:

__dict__
  `dictionary for instance variables (if defined)`

__weakref__
  `list of weak references to the object (if defined)`

Functions

``

gmtime(...)
  `gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min,
  tm_sec, tm_wday, tm_yday, tm_isdst)
  Convert seconds since the Epoch to a time tuple expressing UTC (a.k.a.
  GMT). When 'seconds' is not passed in, convert the current time instead.`

strftime(...)
  `strftime(format[, tuple]) -> string
  Convert a time tuple to a string according to a format specification.
  See the library reference manual for formatting codes. When the time tuple
  is not present, current time as returned by localtime() is used.`

time(...)
  `time() -> floating point number
  Return the current time in seconds since the Epoch.
  Fractions of a second may be present if the system clock provides them.`

Data
`` |  | debug = False