Shoutcast HTTP stream.

Modes can be 'length', 'meta' and 'mp3'.

See http://www.smackfu.com/stuff/programming/shoutcast.html for details on the protocol.

Method __init__ Undocumented
Method connectionMade Called when a connection is made.
Method lineReceived Parse the status line and headers for an HTTP request.
Method handleHeader Called every time a header is received.
Method handleEndHeaders Called when all headers have been received.
Method handleResponsePart_with_metadata Undocumented
Method handle_length Undocumented
Method handle_mp3 Undocumented
Method handle_meta Undocumented
Method parseMetadata Undocumented
Method gotMetaData Called with a list of (key, value) pairs of metadata, if metadata is available on the server.
Method gotMP3Data Called with chunk of MP3 data.

Inherited from HTTPClient:

Instance Variable length The length of the request body in bytes. (type: int)
Instance Variable firstLine Are we waiting for the first header line? (type: bool)
Method sendCommand Undocumented
Method sendHeader Undocumented
Method endHeaders Undocumented
Method extractHeader Given a complete HTTP header, extract the field name and value and process the header.
Method connectionLost Called when the connection is shut down.
Method handleResponseEnd The response has been completely received.
Method handleResponsePart Undocumented
Method handleStatus Called when the status-line is received.
Method rawDataReceived Override this for when raw data is received.
Instance Variable __buffer The buffer that stores the response to the HTTP request. (type: A StringIO object.)
Instance Variable _header Part or all of an HTTP request header. (type: bytes)

Inherited from LineReceiver (via HTTPClient):

Class Variable delimiter The line-ending delimiter to use. By default this is b'\r\n'.
Class Variable MAX_LENGTH The maximum length of a line to allow (If a sent line is longer than this, the connection is dropped). Default is 16384.
Method clearLineBuffer Clear buffered data.
Method dataReceived Protocol.dataReceived. Translates bytes into lines, and calls lineReceived (or rawDataReceived, depending on mode.)
Method setLineMode Sets the line-mode of this receiver.
Method setRawMode Sets the raw mode of this receiver. Further data received will be sent to rawDataReceived rather than lineReceived.
Method sendLine Sends a line to the other end of the connection.
Method lineLengthExceeded Called when the maximum line length has been reached. Override if it needs to be dealt with in some special way.

Inherited from Protocol (via HTTPClient, LineReceiver):

Method logPrefix Return a prefix matching the class name, to identify log messages related to this protocol instance.

Inherited from BaseProtocol (via HTTPClient, LineReceiver, Protocol):

Method makeConnection Make a connection to a transport and a server.

Inherited from _PauseableMixin (via HTTPClient, LineReceiver):

Method pauseProducing Undocumented
Method resumeProducing Undocumented
Method stopProducing Undocumented
def __init__(self, path='/'): (source)
Undocumented
def connectionMade(self): (source)

Called when a connection is made.

This may be considered the initializer of the protocol, because it is called when the connection is completed. For clients, this is called once the connection to the server has been established; for servers, this is called after an accept() call stops blocking and a socket has been received. If you need to send any greeting or initial message, do it here.

def lineReceived(self, line): (source)

Parse the status line and headers for an HTTP request.

ParameterslinePart of an HTTP request header. Request bodies are parsed in HTTPClient.rawDataReceived. (type: bytes)
def handleHeader(self, key, value): (source)

Called every time a header is received.

def handleEndHeaders(self): (source)

Called when all headers have been received.

def handleResponsePart_with_metadata(self, data): (source)
Undocumented
def handle_length(self): (source)
Undocumented
def handle_mp3(self): (source)
Undocumented
def handle_meta(self): (source)
Undocumented
def parseMetadata(self, data): (source)
Undocumented
def gotMetaData(self, metadata): (source)

Called with a list of (key, value) pairs of metadata, if metadata is available on the server.

Will only be called on non-empty metadata.

def gotMP3Data(self, data): (source)

Called with chunk of MP3 data.

API Documentation for Twisted, generated by pydoctor at 2017-09-23 19:45:03.