aiocoap.error module

Common errors for the aiocoap library

exception aiocoap.error.Error

Bases: Exception

Base exception for all exceptions that indicate a failed request

exception aiocoap.error.RenderableError

Bases: Error

Exception that can meaningfully be represented in a CoAP response

abstract to_message()

Create a CoAP message that should be sent when this exception is rendered

exception aiocoap.error.ResponseWrappingError(coapmessage)

Bases: Error

An exception that is raised due to an unsuccessful but received response.

A better relationship with numbers.codes should be worked out to do except UnsupportedMediaType (similar to the various OSError subclasses).

to_message()
exception aiocoap.error.ConstructionRenderableError(message=None)

Bases: RenderableError

RenderableError that is constructed from class attributes code and message (where the can be overridden in the constructor).

to_message()

Create a CoAP message that should be sent when this exception is rendered

code = <Response Code 160 "5.00 Internal Server Error">

Code assigned to messages built from it

message = ''

Text sent in the built message’s payload

exception aiocoap.error.NotFound(message=None)

Bases: ConstructionRenderableError

code = <Response Code 132 "4.04 Not Found">

Code assigned to messages built from it

exception aiocoap.error.MethodNotAllowed(message=None)

Bases: ConstructionRenderableError

code = <Response Code 133 "4.05 Method Not Allowed">

Code assigned to messages built from it

exception aiocoap.error.UnsupportedContentFormat(message=None)

Bases: ConstructionRenderableError

code = <Response Code 143 "4.15 Unsupported Content Format">

Code assigned to messages built from it

exception aiocoap.error.Unauthorized(message=None)

Bases: ConstructionRenderableError

code = <Response Code 129 "4.01 Unauthorized">

Code assigned to messages built from it

exception aiocoap.error.BadRequest(message=None)

Bases: ConstructionRenderableError

code = <Response Code 128 "4.00 Bad Request">

Code assigned to messages built from it

exception aiocoap.error.NoResource

Bases: NotFound

Raised when resource is not found.

message = 'Error: Resource not found!'

Text sent in the built message’s payload

exception aiocoap.error.UnallowedMethod(message=None)

Bases: MethodNotAllowed

Raised by a resource when request method is understood by the server but not allowed for that particular resource.

message = 'Error: Method not allowed!'

Text sent in the built message’s payload

exception aiocoap.error.UnsupportedMethod(message=None)

Bases: MethodNotAllowed

Raised when request method is not understood by the server at all.

message = 'Error: Method not recognized!'

Text sent in the built message’s payload

exception aiocoap.error.NetworkError

Bases: Error

Base class for all “something went wrong with name resolution, sending or receiving packages”.

Errors of these kinds are raised towards client callers when things went wrong network-side, or at context creation. They are often raised from socket.gaierror or similar classes, but these are wrapped in order to make catching them possible independently of the underlying transport.

exception aiocoap.error.ResolutionError

Bases: NetworkError

Resolving the host component of a URI to a usable transport address was not possible

exception aiocoap.error.MessageError

Bases: NetworkError

Received an error from the remote on the CoAP message level (typically a RST)

exception aiocoap.error.NotImplemented

Bases: Error

Raised when request is correct, but feature is not implemented by library. For example non-sequential blockwise transfers

exception aiocoap.error.RemoteServerShutdown

Bases: NetworkError

The peer a request was sent to in a stateful connection closed the connection around the time the request was sent

exception aiocoap.error.TimeoutError

Bases: NetworkError

Base for all timeout-ish errors.

Like NetworkError, receiving this alone does not indicate whether the request may have reached the server or not.

exception aiocoap.error.ConRetransmitsExceeded

Bases: TimeoutError

A transport that retransmits CON messages has failed to obtain a response within its retransmission timeout.

When this is raised in a transport, requests failing with it may or may have been received by the server.

exception aiocoap.error.RequestTimedOut

Bases: TimeoutError

Raised when request is timed out.

This error is currently not produced by aiocoap; it is deprecated. Users can now catch error.TimeoutError, or newer more detailed subtypes introduced later.

exception aiocoap.error.WaitingForClientTimedOut

Bases: TimeoutError

Raised when server expects some client action:

  • sending next PUT/POST request with block1 or block2 option

  • sending next GET request with block2 option

but client does nothing.

This error is currently not produced by aiocoap; it is deprecated. Users can now catch error.TimeoutError, or newer more detailed subtypes introduced later.

exception aiocoap.error.ResourceChanged

Bases: Error

The requested resource was modified during the request and could therefore not be received in a consistent state.

exception aiocoap.error.UnexpectedBlock1Option

Bases: Error

Raised when a server responds with block1 options that just don’t match.

exception aiocoap.error.UnexpectedBlock2

Bases: Error

Raised when a server responds with another block2 than expected.

exception aiocoap.error.MissingBlock2Option

Bases: Error

Raised when response with Block2 option is expected (previous response had Block2 option with More flag set), but response without Block2 option is received.

exception aiocoap.error.NotObservable

Bases: Error

The server did not accept the request to observe the resource.

exception aiocoap.error.ObservationCancelled

Bases: Error

The server claimed that it will no longer sustain the observation.

exception aiocoap.error.UnparsableMessage

Bases: Error

An incoming message does not look like CoAP.

Note that this happens rarely – the requirements are just two bit at the beginning of the message, and a minimum length.

exception aiocoap.error.LibraryShutdown

Bases: Error

The library or a transport registered with it was requested to shut down; this error is raised in all outstanding requests.

exception aiocoap.error.AnonymousHost

Bases: Error

This is raised when it is attempted to express as a reference a (base) URI of a host or a resource that can not be reached by any process other than this.

Typically, this happens when trying to serialize a link to a resource that is hosted on a CoAP-over-TCP or -WebSockets client: Such resources can be accessed for as long as the connection is active, but can not be used any more once it is closed or even by another system.