DocumentSpec

from panda3d.core import DocumentSpec
class DocumentSpec

Bases: DTOOL_SUPER_BASE

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

Inheritance diagram of DocumentSpec

CCAllowCache = 0
CCNoCache = 2
CCRevalidate = 1
CC_allow_cache = 0
CC_no_cache = 2
CC_revalidate = 1
RMAny = 0
RMEqual = 1
RMEqualOrNewer = 3
RMNewer = 2
RM_any = 0
RM_equal = 1
RM_equal_or_newer = 3
RM_newer = 2
__init__(*args, **kwargs)
assign()

C++ Interface: assign(const DocumentSpec self, const DocumentSpec copy)

cache_control
clearDate()

C++ Interface: clear_date(const DocumentSpec self)

/**
  • Removes the last-modified date associated with the DocumentSpec, if there

  • is one.

*/

clearTag()

C++ Interface: clear_tag(const DocumentSpec self)

/**
  • Removes the identity tag associated with the DocumentSpec, if there is one.

*/

clear_date()

C++ Interface: clear_date(const DocumentSpec self)

/**
  • Removes the last-modified date associated with the DocumentSpec, if there

  • is one.

*/

clear_tag()

C++ Interface: clear_tag(const DocumentSpec self)

/**
  • Removes the identity tag associated with the DocumentSpec, if there is one.

*/

compareTo()

C++ Interface: compare_to(DocumentSpec self, const DocumentSpec other)

/**

*/

compare_to()

C++ Interface: compare_to(DocumentSpec self, const DocumentSpec other)

/**

*/

date
getCacheControl()

C++ Interface: get_cache_control(DocumentSpec self)

/**
  • Returns the request mode of this DocumentSpec. See set_cache_control().

*/

getDate()

C++ Interface: get_date(DocumentSpec self)

/**
  • Returns the last-modified date associated with the DocumentSpec, if there

  • is one. It is an error to call this if has_date() returns false.

*/

getRequestMode()

C++ Interface: get_request_mode(DocumentSpec self)

/**
  • Returns the request mode of this DocumentSpec. See set_request_mode().

*/

getTag()

C++ Interface: get_tag(DocumentSpec self)

/**
  • Returns the identity tag associated with the DocumentSpec, if there is one.

  • It is an error to call this if has_tag() returns false.

  • The identity tag is set by the HTTP server to uniquely refer to a

  • particular version of a document.

*/

getUrl()

C++ Interface: get_url(DocumentSpec self)

/**
  • Retrieves the URL of the DocumentSpec.

*/

get_cache_control()

C++ Interface: get_cache_control(DocumentSpec self)

/**
  • Returns the request mode of this DocumentSpec. See set_cache_control().

*/

get_date()

C++ Interface: get_date(DocumentSpec self)

/**
  • Returns the last-modified date associated with the DocumentSpec, if there

  • is one. It is an error to call this if has_date() returns false.

*/

get_request_mode()

C++ Interface: get_request_mode(DocumentSpec self)

/**
  • Returns the request mode of this DocumentSpec. See set_request_mode().

*/

get_tag()

C++ Interface: get_tag(DocumentSpec self)

/**
  • Returns the identity tag associated with the DocumentSpec, if there is one.

  • It is an error to call this if has_tag() returns false.

  • The identity tag is set by the HTTP server to uniquely refer to a

  • particular version of a document.

*/

get_url()

C++ Interface: get_url(DocumentSpec self)

/**
  • Retrieves the URL of the DocumentSpec.

*/

hasDate()

C++ Interface: has_date(DocumentSpec self)

/**
  • Returns true if a last-modified date is associated with the DocumentSpec.

*/

hasTag()

C++ Interface: has_tag(DocumentSpec self)

/**
  • Returns true if an identity tag is associated with the DocumentSpec.

*/

has_date()

C++ Interface: has_date(DocumentSpec self)

/**
  • Returns true if a last-modified date is associated with the DocumentSpec.

*/

has_tag()

C++ Interface: has_tag(DocumentSpec self)

/**
  • Returns true if an identity tag is associated with the DocumentSpec.

*/

input()

C++ Interface: input(const DocumentSpec self, istream in)

/**
  • Can be used to read in the DocumentSpec from a stream generated either by

  • output() or write(). Returns true on success, false on failure.

*/

output()

C++ Interface: output(DocumentSpec self, ostream out)

/**

*/

request_mode
setCacheControl()

C++ Interface: set_cache_control(const DocumentSpec self, int cache_control)

/**
  • 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.

*/

setDate()

C++ Interface: set_date(const DocumentSpec self, const HTTPDate date)

/**
  • Changes the last-modified date associated with the DocumentSpec.

*/

setRequestMode()

C++ Interface: set_request_mode(const DocumentSpec self, int request_mode)

/**
  • Sets the request mode of this DocumentSpec. This is only relevant when

  • using the DocumentSpec to generate a request (for instance, in

  • HTTPChannel). 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.

*/

setTag()

C++ Interface: set_tag(const DocumentSpec self, const HTTPEntityTag tag)

/**
  • Changes the identity tag associated with the DocumentSpec.

*/

setUrl()

C++ Interface: set_url(const DocumentSpec self, const URLSpec url)

/**
  • 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 a DocumentSpec pointing

  • to a new URL, you would normally create a new DocumentSpec object.

*/

set_cache_control()

C++ Interface: set_cache_control(const DocumentSpec self, int cache_control)

/**
  • 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()

C++ Interface: set_date(const DocumentSpec self, const HTTPDate date)

/**
  • Changes the last-modified date associated with the DocumentSpec.

*/

set_request_mode()

C++ Interface: set_request_mode(const DocumentSpec self, int request_mode)

/**
  • Sets the request mode of this DocumentSpec. This is only relevant when

  • using the DocumentSpec to generate a request (for instance, in

  • HTTPChannel). 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()

C++ Interface: set_tag(const DocumentSpec self, const HTTPEntityTag tag)

/**
  • Changes the identity tag associated with the DocumentSpec.

*/

set_url()

C++ Interface: set_url(const DocumentSpec self, const URLSpec url)

/**
  • 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 a DocumentSpec pointing

  • to a new URL, you would normally create a new DocumentSpec object.

*/

tag
url
write()

C++ Interface: write(DocumentSpec self, ostream out, int indent_level)

/**

*/