DocumentSpec
from panda3d.core import DocumentSpec
- class DocumentSpec
Bases:
A descriptor that refers to a particular version of a document. This includes the URL of the document and its identity tag and last-modified dates.
The DocumentSpec may also be used to request a newer document than a particular one if available, for instance to refresh a cached document.
Inheritance diagram
-
enum CacheControl
-
enumerator CC_allow_cache = 0
-
enumerator CC_revalidate = 1
-
enumerator CC_no_cache = 2
-
enumerator CC_allow_cache = 0
-
enum RequestMode
-
enumerator RM_any = 0
-
enumerator RM_equal = 1
-
enumerator RM_newer = 2
-
enumerator RM_equal_or_newer = 3
-
enumerator RM_any = 0
- __eq__(other: DocumentSpec) bool
- __init__()
- __init__(copy: DocumentSpec)
- __init__(url: URLSpec)
- __init__(url: str)
- __lt__(other: DocumentSpec) bool
- __ne__(other: DocumentSpec) bool
- assign(copy: DocumentSpec) DocumentSpec
- property cache_control CacheControl
- Getter
Returns the request mode of this
DocumentSpec
. Seeset_cache_control()
.- Setter
Specifies what kind of cached value is acceptable for this document. Warning: some HTTP proxies may not respect this setting and may return a cached result anyway.
CC_allow_cache: the normal HTTP behavior; the server may return a cached value if it believes it is valid.
CC_revalidate: a proxy is forced to contact the origin server and verify that is cached value is in fact still valid before it returns it.
CC_no_cache: a proxy must not return its cached value at all, but is forced to go all the way back to the origin server for the official document.
The default mode is CC_allow_cache.
- clear_date()
Removes the last-modified date associated with the
DocumentSpec
, if there is one.
- clear_tag()
Removes the identity tag associated with the
DocumentSpec
, if there is one.
- compare_to(other: DocumentSpec) int
- property date HTTPDate
- Getter
Returns the last-modified date associated with the
DocumentSpec
, if there is one. It is an error to call this ifhas_date()
returns false.- Setter
Changes the last-modified date associated with the
DocumentSpec
.
- get_cache_control() CacheControl
Returns the request mode of this
DocumentSpec
. Seeset_cache_control()
.
- get_date() HTTPDate
Returns the last-modified date associated with the
DocumentSpec
, if there is one. It is an error to call this ifhas_date()
returns false.
- get_request_mode() RequestMode
Returns the request mode of this
DocumentSpec
. Seeset_request_mode()
.
- get_tag() HTTPEntityTag
Returns the identity tag associated with the
DocumentSpec
, if there is one. It is an error to call this ifhas_tag()
returns false.The identity tag is set by the HTTP server to uniquely refer to a particular version of a document.
- get_url() URLSpec
Retrieves the URL of the
DocumentSpec
.
- has_date() bool
Returns true if a last-modified date is associated with the
DocumentSpec
.
- has_tag() bool
Returns true if an identity tag is associated with the
DocumentSpec
.
- input(in: istream) bool
Can be used to read in the
DocumentSpec
from a stream generated either byoutput()
orwrite()
. Returns true on success, false on failure.
- property request_mode RequestMode
- Getter
Returns the request mode of this
DocumentSpec
. Seeset_request_mode()
.- Setter
Sets the request mode of this
DocumentSpec
. This is only relevant when using theDocumentSpec
to generate a request (for instance, inHTTPChannel
). This specifies whether the document request will ask the server for a newer version than the indicated version, or the exact version, neither, or either.The possible values are:
RM_any: ignore date and tag (if specified), and retrieve any document that matches the URL. For a subrange request, if the document matches the version indicated exactly, retrieve the subrange only; otherwise, retrieve the entire document.
RM_equal: request only the precise version of the document that matches the particular date and/or tag exactly, if specified; fail if this version is not available.
RM_newer: request any document that is newer than the version indicated by the particular date and/or tag; fail if only that version (or older versions) are available.
RM_newer_or_equal: request any document that matches the version indicated by the particular date and/or tag, or is a newer version; fail if only older versions are available.
In any of the above, you may specify either or both of the last-modified date and the identity tag, whichever is known to the client.
The default mode is RM_any.
- set_cache_control(cache_control: CacheControl)
Specifies what kind of cached value is acceptable for this document. Warning: some HTTP proxies may not respect this setting and may return a cached result anyway.
CC_allow_cache: the normal HTTP behavior; the server may return a cached value if it believes it is valid.
CC_revalidate: a proxy is forced to contact the origin server and verify that is cached value is in fact still valid before it returns it.
CC_no_cache: a proxy must not return its cached value at all, but is forced to go all the way back to the origin server for the official document.
The default mode is CC_allow_cache.
- set_date(date: HTTPDate)
Changes the last-modified date associated with the
DocumentSpec
.
- set_request_mode(request_mode: RequestMode)
Sets the request mode of this
DocumentSpec
. This is only relevant when using theDocumentSpec
to generate a request (for instance, inHTTPChannel
). This specifies whether the document request will ask the server for a newer version than the indicated version, or the exact version, neither, or either.The possible values are:
RM_any: ignore date and tag (if specified), and retrieve any document that matches the URL. For a subrange request, if the document matches the version indicated exactly, retrieve the subrange only; otherwise, retrieve the entire document.
RM_equal: request only the precise version of the document that matches the particular date and/or tag exactly, if specified; fail if this version is not available.
RM_newer: request any document that is newer than the version indicated by the particular date and/or tag; fail if only that version (or older versions) are available.
RM_newer_or_equal: request any document that matches the version indicated by the particular date and/or tag, or is a newer version; fail if only older versions are available.
In any of the above, you may specify either or both of the last-modified date and the identity tag, whichever is known to the client.
The default mode is RM_any.
- set_tag(tag: HTTPEntityTag)
Changes the identity tag associated with the
DocumentSpec
.
- set_url(url: URLSpec)
Changes the URL of the
DocumentSpec
without modifying its other properties. Normally this would be a strange thing to do, because the tag and date are usually strongly associated with the URL. To get aDocumentSpec
pointing to a new URL, you would normally create a newDocumentSpec
object.
- property tag HTTPEntityTag
- Getter
Returns the identity tag associated with the
DocumentSpec
, if there is one. It is an error to call this ifhas_tag()
returns false.The identity tag is set by the HTTP server to uniquely refer to a particular version of a document.
- Setter
Changes the identity tag associated with the
DocumentSpec
.
- property url URLSpec
- Getter
Retrieves the URL of the
DocumentSpec
.- Setter
Changes the URL of the
DocumentSpec
without modifying its other properties. Normally this would be a strange thing to do, because the tag and date are usually strongly associated with the URL. To get aDocumentSpec
pointing to a new URL, you would normally create a newDocumentSpec
object.
-
enum CacheControl