Public Member Functions | Public Attributes | Static Public Attributes

rpki.http.http_client Class Reference

Inherits rpki::http::http_stream.

Collaboration diagram for rpki.http.http_client:
Collaboration graph

List of all members.

Public Member Functions

def __init__
def dns_error
def gotaddrinfo
def handle_close
def handle_connect
def handle_error
def handle_message
def handle_no_content_length
def handle_timeout
def send_request
def set_state
def start

Public Attributes

 addr
 expect_close
 host
 port
 queue
 state

Static Public Attributes

 parse_type = http_response
 Stream parser should look for incoming HTTP response messages.
 timeout = default_client_timeout
 Use the default client timeout value set in the module header.

Detailed Description

HTTP(S) client stream.

Definition at line 600 of file http.py.


Member Function Documentation

def rpki.http.http_client.__init__ (   self,
  queue,
  hostport 
)

Definition at line 613 of file http.py.

def rpki.http.http_client.dns_error (   self,
  e 
)
Handle DNS lookup errors.  For now, just whack the connection.
Undoubtedly we should do something better with diagnostics here.

Definition at line 634 of file http.py.

def rpki.http.http_client.gotaddrinfo (   self,
  addrinfo 
)
Got address data from DNS, create socket and request connection.

Definition at line 641 of file http.py.

def rpki.http.http_client.handle_close (   self  ) 
Asyncore signaled connection close.  If we were waiting for that
to find the end of a response message, process the resulting
message now; if we were waiting for the response to a request we
sent, signal the error.

Reimplemented from rpki.http.http_stream.

Definition at line 725 of file http.py.

def rpki.http.http_client.handle_connect (   self  ) 
Asyncore says socket has connected.

Definition at line 654 of file http.py.

def rpki.http.http_client.handle_error (   self  ) 
Asyncore says something threw an exception.  Log it, then shut
down the connection and pass back the exception.

Reimplemented from rpki.http.http_stream.

Definition at line 755 of file http.py.

def rpki.http.http_client.handle_message (   self  ) 
Handle incoming HTTP response message.  Make sure we're in a state
where we expect to see such a message (and allow the mysterious
empty messages that Apache sends during connection close, no idea
what that is supposed to be about).  If everybody agrees that the
connection should stay open, put it into an idle state; otherwise,
arrange for the stream to shut down.

Definition at line 689 of file http.py.

def rpki.http.http_client.handle_no_content_length (   self  ) 
Handle response message that used neither chunking nor a
Content-Length header (that is: this message will be the last one
in this server stream).  In this case we want to read until we
reach the end of the data stream.

Definition at line 669 of file http.py.

def rpki.http.http_client.handle_timeout (   self  ) 
Connection idle timer has expired.  Shut down connection in any
case, noisily if we weren't idle.

Reimplemented from rpki.http.http_stream.

Definition at line 740 of file http.py.

def rpki.http.http_client.send_request (   self,
  msg 
)
Queue up request message and kickstart connection.

Definition at line 678 of file http.py.

def rpki.http.http_client.set_state (   self,
  state 
)
Set HTTP client connection state.

Definition at line 662 of file http.py.

def rpki.http.http_client.start (   self  ) 
Create socket and request a connection.

Definition at line 622 of file http.py.


Member Data Documentation

Definition at line 646 of file http.py.

Definition at line 620 of file http.py.

Definition at line 617 of file http.py.

Stream parser should look for incoming HTTP response messages.

Definition at line 607 of file http.py.

Definition at line 618 of file http.py.

Definition at line 616 of file http.py.

Definition at line 619 of file http.py.

Use the default client timeout value set in the module header.

Definition at line 611 of file http.py.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables