webob.response -- Response¶
Response¶
- 
class webob.response.Response(body=None, status=None, headerlist=None, app_iter=None, content_type=None, conditional_response=None, charset=<object object>, **kw)¶
- Represents a WSGI response. - If no arguments are passed, creates a - Responsethat uses a variety of defaults. The defaults may be changed by sub-classing the- Response. See the sub-classing notes.- Variables: - body (bytes or text_type) -- If bodyis atext_type, then it will be encoded using eithercharsetwhen provided ordefault_encodingwhencharsetis not provided if thecontent_typeallows for acharset. This argument is mutually exclusive withapp_iter.
- status (int or str) -- Either an intor a string that is an integer followed by the status text. If it is an integer, it will be converted to a proper status that also includes the status text. Any existing status text will be kept. Non-standard values are allowed.
- headerlist (list) -- A list of HTTP headers for the response.
- app_iter (iterable) -- An iterator that is used as the body of the
response. Should conform to the WSGI requirements and should provide
bytes. This argument is mutually exclusive with body.
- content_type (str or None) -- Sets the Content-Typeheader. If nocontent_typeis provided, and there is noheaderlist, thedefault_content_typewill be automatically set. Ifheaderlistis provided then this value is ignored.
- conditional_response (bool) -- Used to change the behavior of the
Responseto check the original request for conditional response headers. Seeconditional_response_app()for more information.
- charset (str or None) -- Adds a charsetContent-Typeparameter. If nocharsetis provided and theContent-Typeis text, then thedefault_charsetwill automatically be added. Currently the onlyContent-Type's that allow for acharsetare defined to betext/*,application/xml, and*/*+xml. Any otherContent-Type's will not have acharsetadded. If aheaderlistis provided this value is ignored.
 - All other response attributes may be set on the response by providing them as keyword arguments. A - TypeErrorwill be raised for any unexpected keywords.- Sub-classing notes: - The default_content_typeis used as the default for theContent-Typeheader that is returned on the response. It istext/html.
- The default_charsetis used as the default character set to return on theContent-Typeheader, if theContent-Typeallows for acharsetparameter. Currently the onlyContent-Type's that allow for acharsetare defined to be:text/*,application/xml, and*/*+xml. Any otherContent-Type's will not have acharsetadded.
- The unicode_errorsis set tostrict, and access on atextwill raise an error if it fails to decode thebody.
- default_conditional_responseis set to False. This flag may be set to True so that all- Responseobjects will attempt to check the original request for conditional response headers. See- conditional_response_app()for more information.
- default_body_encodingis set to 'UTF-8' by default, it exists to allow users to get/set the Response object using .text, even if no charset has been set for the Content-Type.
 - 
accept_ranges¶
- Gets and sets the - Accept-Rangesheader (HTTP spec section 14.5).
 - 
age¶
- Gets and sets the - Ageheader (HTTP spec section 14.6). Converts it using int.
 - 
allow¶
- Gets and sets the - Allowheader (HTTP spec section 14.7). Converts it using list.
 - 
app_iter¶
- Returns the app_iter of the response. - If body was set, this will create an app_iter from that body (a single-item list) 
 - 
app_iter_range(start, stop)¶
- Return a new app_iter built from the response app_iter, that serves up only the given - start:stoprange.
 - 
body_file¶
- A file-like object that can be used to write to the body. If you passed in a list app_iter, that app_iter will be modified by writes. 
 - 
cache_control¶
- Get/set/modify the Cache-Control header (HTTP spec section 14.9) 
 - 
charset¶
- Get/set the charset specified in Content-Type. - There is no checking to validate that a - content_typeactually allows for a charset parameter.
 - 
conditional_response_app(environ, start_response)¶
- Like the normal __call__ interface, but checks conditional headers: - If-Modified-Since (304 Not Modified; only on GET, HEAD)
- If-None-Match (304 Not Modified; only on GET, HEAD)
- Range (406 Partial Content; only on GET, HEAD)
 
 - 
content_disposition¶
- Gets and sets the - Content-Dispositionheader (HTTP spec section 19.5.1).
 - 
content_encoding¶
- Gets and sets the - Content-Encodingheader (HTTP spec section 14.11).
 - 
content_language¶
- Gets and sets the - Content-Languageheader (HTTP spec section 14.12). Converts it using list.
 - 
content_length¶
- Gets and sets the - Content-Lengthheader (HTTP spec section 14.17). Converts it using int.
 - 
content_location¶
- Gets and sets the - Content-Locationheader (HTTP spec section 14.14).
 - 
content_md5¶
- Gets and sets the - Content-MD5header (HTTP spec section 14.14).
 - 
content_range¶
- Gets and sets the - Content-Rangeheader (HTTP spec section 14.16). Converts it using ContentRange object.
 - 
content_type¶
- Get/set the Content-Type header. If no Content-Type header is set, this will return None. - Changed in version 1.7: Setting a new Content-Type will remove all Content-Type parameters and reset the charset to the default if the Content-Type is - text/*or XML (- application/xml, or- */*+xml)- To preserve all Content-Type parameters you may use the following code: - resp = Response() params = resp.content_type_params resp.content_type = 'application/something' resp.content_type_params = params 
 - 
content_type_params¶
- A dictionary of all the parameters in the content type. - (This is not a view, set to change, modifications of the dict will not be applied otherwise) 
 - 
copy()¶
- Makes a copy of the response 
 - 
date¶
- Gets and sets the - Dateheader (HTTP spec section 14.18). Converts it using HTTP date.
 - Delete a cookie from the client. Note that path and domain must match how the cookie was originally set. - This sets the cookie to the empty string, and max_age=0 so that it should expire immediately. 
 - 
encode_content(encoding='gzip', lazy=False)¶
- Encode the content with the given encoding (only gzip and identity are supported). 
 - 
etag¶
- Gets and sets the - ETagheader (HTTP spec section 14.19). Converts it using Entity tag.
 - 
expires¶
- Gets and sets the - Expiresheader (HTTP spec section 14.21). Converts it using HTTP date.
 - 
classmethod from_file(fp)¶
- Reads a response from a file-like object (it must implement - .read(size)and- .readline()).- It will read up to the end of the response, not the end of the file. - This reads the response as represented by - str(resp); it may not read every valid HTTP response properly. Responses must have a- Content-Length
 - 
has_body¶
- Determine if the the response has a - body. In contrast to simply accessing- bodythis method will not read the underlying- app_iter.
 - 
headerlist¶
- The list of response headers 
 - 
headers¶
- The headers in a dictionary-like object 
 - 
json¶
- Set/get the body of the response as JSON 
 - 
json_body¶
- Set/get the body of the response as JSON 
 - 
last_modified¶
- Gets and sets the - Last-Modifiedheader (HTTP spec section 14.29). Converts it using HTTP date.
 - 
location¶
- Gets and sets the - Locationheader (HTTP spec section 14.30).
 - 
md5_etag(body=None, set_content_md5=False)¶
- Generate an etag for the response object using an MD5 hash of the body (the body parameter, or - self.bodyif not given)- Sets - self.etagIf- set_content_md5is True sets- self.content_md5as well
 - Merge the cookies that were set on this response with the given resp object (which can be any WSGI application). - If the resp is a - webob.Responseobject, then the other object will be modified in-place.
 - 
pragma¶
- Gets and sets the - Pragmaheader (HTTP spec section 14.32).
 - 
retry_after¶
- Gets and sets the - Retry-Afterheader (HTTP spec section 14.37). Converts it using HTTP date or delta seconds.
 - 
server¶
- Gets and sets the - Serverheader (HTTP spec section 14.38).
 - Set (add) a cookie for the response. - Arguments are: - nameThe cookie name.- valueThe cookie value, which should be a string or- None. If- valueis- None, it's equivalent to calling the- webob.response.Response.unset_cookie()method for this cookie key (it effectively deletes the cookie on the client).- max_ageAn integer representing a number of seconds,- datetime.timedelta, or- None. This value is used as the- Max-Ageof the generated cookie. If- expiresis not passed and this value is not- None, the- max_agevalue will also influence the- Expiresvalue of the cookie (- Expireswill be set to now + max_age). If this value is- None, the cookie will not have a- Max-Agevalue (unless- expiresis set). If both- max_ageand- expiresare set, this value takes precedence.- pathA string representing the cookie- Pathvalue. It defaults to- /.- domainA string representing the cookie- Domain, or- None. If domain is- None, no- Domainvalue will be sent in the cookie.- secureA boolean. If it's- True, the- secureflag will be sent in the cookie, if it's- False, the- secureflag will not be sent in the cookie.- httponlyA boolean. If it's- True, the- HttpOnlyflag will be sent in the cookie, if it's- False, the- HttpOnlyflag will not be sent in the cookie.- commentA string representing the cookie- Commentvalue, or- None. If- commentis- None, no- Commentvalue will be sent in the cookie.- expires- A - datetime.timedeltaobject representing an amount of time,- datetime.datetimeor- None. A non-- Nonevalue is used to generate the- Expiresvalue of the generated cookie. If- max_ageis not passed, but this value is not- None, it will influence the- Max-Ageheader. If this value is- None, the- Expirescookie value will be unset (unless- max_ageis set). If- max_ageis set, it will be used to generate the- expiresand this value is ignored.- If a - datetime.datetimeis provided it has to either be timezone aware or be based on UTC.- datetime.datetimeobjects that are local time are not supported. Timezone aware- datetime.datetimeobjects are converted to UTC.- This argument will be removed in future versions of WebOb (version 1.9). - overwriteIf this key is- True, before setting the cookie, unset any existing cookie.
 - 
status¶
- The status string 
 - 
status_code¶
- The status as an integer 
 - 
status_int¶
- The status as an integer 
 - 
text¶
- Get/set the text value of the body using the charset of the Content-Type or the default_body_encoding. 
 - 
ubody¶
- Deprecated alias for .text 
 - 
unicode_body¶
- Deprecated alias for .text 
 - Unset a cookie with the given name (remove it from the response). 
 - 
vary¶
- Gets and sets the - Varyheader (HTTP spec section 14.44). Converts it using list.
 - 
www_authenticate¶
- Gets and sets the - WWW-Authenticateheader (HTTP spec section 14.47). Converts it using- parse_authand- serialize_auth.
 
- body (bytes or text_type) -- If 
- 
class webob.response.ResponseBodyFile(response)¶
- 
encoding¶
- The encoding of the file (inherited from response.charset) 
 - 
tell()¶
- Provide the current location where we are going to start writing 
 - 
writelines(seq)¶
- Write a sequence of lines to the response 
 
- 
- 
class webob.response.AppIterRange(app_iter, start, stop)¶
- Wraps an app_iter, returning just a range of bytes