#include <HTTPConnect.h>
Collaboration diagram for libdap::HTTPConnect:
Suppress default methods | |
These methods are not supported and are implemented here as protected methods to suppress the C++-supplied default versions (which will break this object). | |
HTTPConnect (const HTTPConnect &) | |
HTTPConnect () | |
HTTPConnect & | operator= (const HTTPConnect &) |
Public Member Functions | |
HTTPResponse * | fetch_url (const string &url) |
HTTPConnect (RCReader *rcr) throw (Error, InternalErr) | |
bool | is_cache_enabled () |
void | set_accept_deflate (bool defalte) |
void | set_cache_enabled (bool enabled) |
void | set_credentials (const string &u, const string &p) |
virtual | ~HTTPConnect () |
Friends | |
class | HTTPConnectTest |
class | ParseHeader |
size_t | save_raw_http_header (void *ptr, size_t size, size_t nmemb, void *http_connect) |
Definition at line 74 of file HTTPConnect.h.
libdap::HTTPConnect::HTTPConnect | ( | ) | [inline, protected] |
Definition at line 116 of file HTTPConnect.h.
libdap::HTTPConnect::HTTPConnect | ( | const HTTPConnect & | ) | [inline, protected] |
Definition at line 118 of file HTTPConnect.h.
libdap::HTTPConnect::HTTPConnect | ( | RCReader * | rcr | ) | throw (Error, InternalErr) |
libdap::HTTPConnect::~HTTPConnect | ( | ) | [virtual] |
HTTPResponse * libdap::HTTPConnect::fetch_url | ( | const string & | url | ) |
Dereference a URL. This method dereferences a URL and stores the result (i.e., it formulates an HTTP request and processes the HTTP server's response). After this method is successfully called, the value of is_response_present() will be true and the methods get_response_headers(), type() and server_version() may be called.
url | The URL to dereference. |
Error | Thrown if the URL could not be dereferenced. | |
InternalErr | Thrown if a temporary file to hold the response could not be opened. |
Definition at line 562 of file HTTPConnect.cc.
References libdap::HTTPResponse::get_headers(), libdap::Response::get_status(), libdap::HTTPCache::is_cache_enabled(), ParseHeader, libdap::Response::set_protocol(), libdap::Response::set_type(), and libdap::Response::set_version().
Referenced by libdap::AISMerge::get_ais_resource(), main(), libdap::Connect::request_das(), libdap::Connect::request_das_url(), libdap::Connect::request_data(), libdap::Connect::request_data_url(), libdap::Connect::request_dds(), libdap::Connect::request_dds_url(), libdap::Connect::request_ddx(), libdap::Connect::request_ddx_url(), libdap::Connect::request_protocol(), and libdap::Connect::request_version().
Here is the call graph for this function:
bool libdap::HTTPConnect::is_cache_enabled | ( | ) | [inline] |
Return the current state of the HTTP cache.
Definition at line 146 of file HTTPConnect.h.
References libdap::HTTPCache::is_cache_enabled().
Referenced by libdap::Connect::is_cache_enabled().
Here is the call graph for this function:
HTTPConnect& libdap::HTTPConnect::operator= | ( | const HTTPConnect & | ) | [inline, protected] |
Definition at line 120 of file HTTPConnect.h.
void libdap::HTTPConnect::set_accept_deflate | ( | bool | deflate | ) |
Set the accept deflate property. If true, the DAP client announces to a server that it can accept responses compressed using the deflate
algorithm. This property is automatically set using a value from the .dodsrc
configuration file. This method provides a way to override that behavior.
false
.deflate | True sets the accept deflate property, False clears it. |
Definition at line 891 of file HTTPConnect.cc.
References DBG.
Referenced by main(), and libdap::Connect::set_accept_deflate().
void libdap::HTTPConnect::set_cache_enabled | ( | bool | enabled | ) | [inline] |
Set the state of the HTTP cache. By default, the HTTP cache is enabled of disabled using the value of the USE_CACHE
property in the .dodsrc file. Use this method to set the state from within a program.
enabled | True to use the cache, False to disable. |
Definition at line 139 of file HTTPConnect.h.
References libdap::HTTPCache::set_cache_enabled().
Referenced by libdap::Connect::set_cache_enabled().
Here is the call graph for this function:
void libdap::HTTPConnect::set_credentials | ( | const string & | u, | |
const string & | p | |||
) |
Set the credentials for responding to challenges while dereferencing URLs. Alternatively, these can be embedded in the URL. This method provides a way for clients of HTTPConnect to get credentials from users (say using a pop up dialog) and to not hack the URL to pass that information to libcurl. Note that the 'credentials in the URL' scheme is part of the URL standard.
This method does nothing if u
, the username, is empty.
u | The username. | |
p | The password. |
InternalErr | The credentials could not be registered with libcurl. |
Definition at line 927 of file HTTPConnect.cc.
Referenced by libdap::Connect::set_credentials().
friend class HTTPConnectTest [friend] |
Definition at line 107 of file HTTPConnect.h.
friend class ParseHeader [friend] |
size_t save_raw_http_header | ( | void * | ptr, | |
size_t | size, | |||
size_t | nmemb, | |||
void * | http_connect | |||
) | [friend] |