mirror of
https://github.com/unshackle-dl/unshackle.git
synced 2026-11-13 12:35:05 +00:00
Deployed 39ec591 with MkDocs version: 1.6.1
This commit is contained in:
@@ -3388,7 +3388,7 @@
|
||||
<td>Proxy could not be resolved.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>502</code></td>
|
||||
<td><code>422</code></td>
|
||||
<td><code>SERVICE_ERROR</code></td>
|
||||
<td>Service failed to initialise, or does not support search.</td>
|
||||
</tr>
|
||||
@@ -5181,7 +5181,7 @@ A slow answer arrives as a <a href="#slow-responses">slow response</a>.</p>
|
||||
<td>An unknown track ID was requested.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>500</code></td>
|
||||
<td><code>422</code></td>
|
||||
<td><code>SERVICE_ERROR</code></td>
|
||||
<td>The playlist request or the filter failed.</td>
|
||||
</tr>
|
||||
@@ -5229,7 +5229,7 @@ A slow answer arrives as a <a href="#slow-responses">slow response</a>.</p>
|
||||
<td>An unknown track ID was requested.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>500</code></td>
|
||||
<td><code>422</code></td>
|
||||
<td><code>SERVICE_ERROR</code></td>
|
||||
<td>The service's decrypter failed.</td>
|
||||
</tr>
|
||||
@@ -5337,7 +5337,7 @@ A slow answer arrives as a <a href="#slow-responses">slow response</a>.</p>
|
||||
<td>Server CDM produced no keys.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>502</code></td>
|
||||
<td><code>422</code></td>
|
||||
<td><code>SERVICE_ERROR</code></td>
|
||||
<td>The service aborted during licensing.</td>
|
||||
</tr>
|
||||
@@ -5428,104 +5428,7 @@ A slow answer arrives as a <a href="#slow-responses">slow response</a>.</p>
|
||||
<p>Errors raised by the API-key middleware use a distinct shape (<code>{"status": 401, "message": "Secret Key is Empty."}</code>, <code>{"status": 401, "message": "Secret Key is Invalid."}</code>, or <code>{"status": 429, "message": "Rate limit exceeded."}</code> with a <code>Retry-After</code> header) with an integer <code>status</code> and no <code>error_code</code>, <code>timestamp</code>, or <code>details</code>. A <code>429</code> from the middleware therefore carries no <code>error_code</code>, unlike the <code>RATE_LIMITED</code> code below, which a handler raises for a rate limit the <em>service</em> imposed. A malformed JSON body on any POST, by contrast, returns the standard envelope with <code>error_code: "INVALID_INPUT"</code>.</p>
|
||||
</div>
|
||||
<h3 id="error-codes-and-default-status">Error codes and default status<a class="headerlink" href="#error-codes-and-default-status" title="Permanent link">¶</a></h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Error code</th>
|
||||
<th>HTTP status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>INVALID_INPUT</code></td>
|
||||
<td>400</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>INVALID_SERVICE</code></td>
|
||||
<td>400</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>INVALID_PROXY</code></td>
|
||||
<td>400</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>INVALID_PARAMETERS</code></td>
|
||||
<td>400</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>AUTH_FAILED</code></td>
|
||||
<td>401</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>FORBIDDEN</code></td>
|
||||
<td>403</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>SERVER_CDM_CAPPED</code></td>
|
||||
<td>403</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>GEOFENCE</code></td>
|
||||
<td>403</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>NOT_FOUND</code></td>
|
||||
<td>404</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>NO_CONTENT</code></td>
|
||||
<td>404</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>JOB_NOT_FOUND</code></td>
|
||||
<td>404</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>SESSION_NOT_FOUND</code></td>
|
||||
<td>404</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TRACK_NOT_FOUND</code></td>
|
||||
<td>404</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>CONFLICT</code></td>
|
||||
<td>409</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RATE_LIMITED</code></td>
|
||||
<td>429</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>INTERNAL_ERROR</code></td>
|
||||
<td>500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_ERROR</code></td>
|
||||
<td>500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>WORKER_ERROR</code></td>
|
||||
<td>500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>SERVICE_ERROR</code></td>
|
||||
<td>502</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>DRM_ERROR</code></td>
|
||||
<td>502</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>NETWORK_ERROR</code></td>
|
||||
<td>503</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>SERVICE_UNAVAILABLE</code></td>
|
||||
<td>503</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>The <a href="../errors/#error-code-catalogue">error code catalogue</a> gives the default HTTP status of each error code.</p>
|
||||
<p>When a generic (uncategorized) exception reaches a handler, unshackle inspects its message and type to pick a code. For example, messages mentioning "connection" or "timeout" become <code>NETWORK_ERROR</code> (503, retryable), "rate limit" or "429" become <code>RATE_LIMITED</code> (429, retryable), and anything unrecognized collapses to <code>INTERNAL_ERROR</code> (500).</p>
|
||||
<hr />
|
||||
<h2 id="see-also">See also<a class="headerlink" href="#see-also" title="Permanent link">¶</a></h2>
|
||||
|
||||
Reference in New Issue
Block a user