RPKI Engine
1.0
|
Classes | |
class | caller |
class | http_client |
class | http_listener |
class | http_message |
class | http_queue |
class | http_request |
class | http_response |
class | http_server |
class | http_stream |
Functions | |
def | addr_to_string |
def | client |
def | localhost_addrinfo |
def | log_method |
def | server |
def | supported_address_families |
Variables | |
dictionary | client_queues = {} |
Map of (host, port) tuples to http_queue objects. | |
debug_http = False | |
Verbose chatter about HTTP streams. | |
tuple | default_client_timeout = rpki.sundial.timedelta(minutes = 5) |
Default HTTP client connection timeout. | |
tuple | default_http_version = (1, 0) |
Preferred HTTP version. | |
tuple | default_server_timeout = rpki.sundial.timedelta(minutes = 10) |
Default HTTP server connection timeouts. | |
int | default_tcp_port = 80 |
Default port for clients and servers that don't specify one. | |
enable_ipv6_clients = False | |
Whether to consider IPv6 addresses when making connections. | |
enable_ipv6_servers = True | |
Whether to enable IPv6 listeners. | |
have_ipv6 = False | |
Whether the current machine claims to support IPv6. | |
string | rpki_content_type = "application/x-rpki" |
HTTP content type used for all RPKI messages. | |
use_adns = False | |
Whether to use rpki.adns code. | |
want_persistent_client = False | |
Whether we want persistent HTTP client streams, when server also supports them. | |
want_persistent_server = False | |
Whether we want persistent HTTP server streams, when client also supports them. |
HTTP utilities, both client and server. $Id: http.py 4026 2011-10-07 21:43:47Z sra $ Copyright (C) 2009-2011 Internet Systems Consortium ("ISC") Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Portions copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN") Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
def rpki::http::addr_to_string | ( | addr | ) |
Convert socket addr tuple to printable string. Assumes 2-element tuple is IPv4, 4-element tuple is IPv6, throws TypeError for anything else.
Definition at line 285 of file http.py.
Referenced by rpki::http::http_stream::__repr__(), rpki::http::http_listener::__repr__(), rpki::http::http_queue::__repr__(), client(), and rpki::http::http_listener::handle_accept().
def rpki::http::client | ( | msg, | |
url, | |||
callback, | |||
errback | |||
) |
Open client HTTP connection, send a message, set up callbacks to handle response.
Definition at line 940 of file http.py.
References addr_to_string().
Referenced by rpki::http::caller::__call__().
def rpki::http::localhost_addrinfo | ( | ) |
Return pseudo-getaddrinfo results for localhost.
Definition at line 116 of file http.py.
Referenced by rpki::http::http_client::start().
def rpki::http::log_method | ( | self, | |
msg, | |||
logger = rpki.log.debug |
|||
) |
def rpki::http::server | ( | handlers, | |
port, | |||
host = "" |
|||
) |
Run an HTTP server and wait (forever) for connections.
Definition at line 983 of file http.py.
References supported_address_families().
def rpki::http::supported_address_families | ( | enable_ipv6 | ) |
IP address families on which servers should listen, and to consider when selecting addresses for client connections.
Definition at line 106 of file http.py.
Referenced by server(), and rpki::http::http_client::start().
Map of (host, port) tuples to http_queue objects.
rpki::http::debug_http = False |
rpki::http::default_client_timeout = rpki.sundial.timedelta(minutes = 5) |
rpki::http::default_http_version = (1, 0) |
rpki::http::default_server_timeout = rpki.sundial.timedelta(minutes = 10) |
rpki::http::enable_ipv6_clients = False |
rpki::http::have_ipv6 = False |
Whether the current machine claims to support IPv6.
Note that just because the kernel supports it doesn't mean that the machine has usable IPv6 connectivity. I don't know of a simple portable way to probe for connectivity at runtime (the old test of "can you ping SRI-NIC.ARPA?" seems a bit dated...). Don't set this, it's set automatically by probing using the socket() system call at runtime.
rpki::http::rpki_content_type = "application/x-rpki" |
rpki::http::use_adns = False |