The REQUEST_ERROR message is sent to a response to any request (SUBSCRIBE, FETCH, PUBLISH, SUBSCRIBE_NAMESPACE, PUBLISH_NAMESPACE, TRACK_STATUS). The unique request ID in the REQUEST_ERROR is used to associate it with the correct type of request.
REQUEST_ERROR Message {
Type (i) = 0x5,
Length (16),
Request ID (i),
Error Code (i),
Error Reason (Reason Phrase),
}
-
Request ID: The Request ID to which this message is replying.
-
Error Code: Identifies an integer error code for request failure.
-
Error Reason: Provides a text description of the request error. See Section 1.4.3.
The application SHOULD use a relevant error code in REQUEST_ERROR, as defined below. Most codepoints have identical meanings for various request types, but some have request-specific meanings.
- INTERNAL_ERROR (0x0):
-
An implementation specific or generic error occurred.
- UNAUTHORIZED (0x1):
-
The subscriber is not authorized to perform the requested action on the given track.
- TIMEOUT (0x2):
-
The subscription could not be completed before an implementation specific timeout. For example, a relay could not establish an upstream subscription within the timeout.
- NOT_SUPPORTED (0x3):
-
The endpoint does not support the type of request.
- MALFORMED_AUTH_TOKEN (0x4):
-
Invalid Auth Token serialization during registration (see Section 9.2.1.1).
- EXPIRED_AUTH_TOKEN (0x5):
-
Authorization token has expired (Section 9.2.1.1).
Below are errors for use by the publisher. They can appear in response to SUBSCRIBE, FETCH, TRACK_STATUS, and SUBSCRIBE_NAMESPACE, unless otherwise noted.
- DOES_NOT_EXIST (0x10):
-
The track or namespace is not available at the publisher.
- INVALID_RANGE (0x11):
-
In response to SUBSCRIBE or FETCH, specified Filter or range of Locations cannot be satisfied.
- MALFORMED_TRACK (0x12):
-
In response to a FETCH, a relay publisher detected the track was malformed (see Section 2.4.2).
The following are errors for use by the subscriber. They can appear in response to PUBLISH or PUBLISH_NAMESPACE, unless otherwise noted.
- UNINTERESTED (0x20):
-
The subscriber is not interested in the track or namespace.
Errors below can only be used in response to one message type.
- PREFIX_OVERLAP (0x30):
-
In response to SUBSCRIBE_NAMESPACE, the namespace prefix overlaps with another SUBSCRIBE_NAMESPACE in the same session.
- INVALID_JOINING_REQUEST_ID(0x32):
-
In response to a Joining FETCH, the referenced Request ID is not an
EstablishedSubscription. - UNKNOWN_STATUS_IN_RANGE(0x33):
-
In response to a FETCH, the requested range contains an object with unknown status.