Skip to content

Commit

Permalink
refactor(shell): satori: use standard error codes
Browse files Browse the repository at this point in the history
  • Loading branch information
ilharp committed Mar 7, 2024
1 parent be4bed0 commit 2f41a2c
Show file tree
Hide file tree
Showing 14 changed files with 190 additions and 7 deletions.
15 changes: 15 additions & 0 deletions packages/docs/docs/code/0401/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: 0401:认证失败
sidebar_position: 401
---

import { ErrorScope } from '@site/src/components/ErrorScope'

<ErrorScope scope="dev" />

你配置了 token,或正在使用默认生成的 token,但并未设置认证字段。

Chronocat 默认即会开启 API 认证并生成 token。即使你在使用默认设置,也需要设置认证字段以调用 API。

如果你设置了认证但仍遇到此问题,最常见的情况是没有前置 `Bearer `。Chronocat Satori API
使用 Bearer 认证法,需要添加的请求头为 `Authorization: Bearer token`
15 changes: 15 additions & 0 deletions packages/docs/docs/code/0404/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: 0404:资源不存在
sidebar_position: 404
---

import { ErrorScope } from '@site/src/components/ErrorScope'

<ErrorScope scope="dev" />

资源不存在。

请求 Satori API 的时候,注意需要加上版本前缀 `/v1/`

如果请求 Satori 资源 API 时出现此问题,请先检查 Chronocat 是否为最新版本。如果 Chronocat
已是最新版本,请通过社区途径寻求帮助。
14 changes: 14 additions & 0 deletions packages/docs/docs/code/0405/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: 0405:不支持的方法
sidebar_position: 405
---

import { ErrorScope } from '@site/src/components/ErrorScope'

<ErrorScope scope="dev" />

不支持以这种方法请求。

请求 Satori API 时,请使用 POST。

请求 Satori 资源 API 时,请使用 GET。
14 changes: 14 additions & 0 deletions packages/docs/docs/code/0500/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: 0500:内部错误
sidebar_position: 500
---

import { ErrorScope } from '@site/src/components/ErrorScope'

<ErrorScope scope="chronocat" />

Chronocat 内部出现了错误。

这是 Chronocat 的问题,不过我们尚不清楚问题的具体原因。

请通过社区途径寻求帮助。在明确了问题之后,我们会分配该问题的专属错误码。
12 changes: 12 additions & 0 deletions packages/docs/docs/code/2135/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: 2135:URL 非法
sidebar_position: 2135
---

import { ErrorScope } from '@site/src/components/ErrorScope'

<ErrorScope scope="dev" />

HTTP 请求的 URL 非法。

这类问题只可能在开发者手写 HTTP 请求时出现。如果你遇到了其他问题,请通过社区途径寻求帮助。
15 changes: 15 additions & 0 deletions packages/docs/docs/code/2136/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: 2136:资源不存在
sidebar_position: 2136
---

import { ErrorScope } from '@site/src/components/ErrorScope'

<ErrorScope scope="dev" />

资源不存在。

请求 Satori API 的时候,注意需要加上版本前缀 `/v1/`

如果请求 Satori 资源 API 时出现此问题,请先检查 Chronocat 是否为最新版本。如果 Chronocat
已是最新版本,请通过社区途径寻求帮助。
14 changes: 14 additions & 0 deletions packages/docs/docs/code/2137/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: 2137:不支持的方法
sidebar_position: 2137
---

import { ErrorScope } from '@site/src/components/ErrorScope'

<ErrorScope scope="dev" />

不支持以这种方法请求。

请求 Satori API 时,请使用 POST。

请求 Satori 资源 API 时,请使用 GET。
14 changes: 14 additions & 0 deletions packages/docs/docs/code/2138/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: 2138:内部错误
sidebar_position: 2138
---

import { ErrorScope } from '@site/src/components/ErrorScope'

<ErrorScope scope="chronocat" />

Chronocat 内部出现了错误。

这是 Chronocat 的问题,不过我们尚不清楚问题的具体原因。

请通过社区途径寻求帮助。在明确了问题之后,我们会分配该问题的专属错误码。
15 changes: 15 additions & 0 deletions packages/docs/docs/code/2139/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: 2139:认证失败
sidebar_position: 2139
---

import { ErrorScope } from '@site/src/components/ErrorScope'

<ErrorScope scope="dev" />

你配置了 token,或正在使用默认生成的 token,但并未设置认证字段。

Chronocat 默认即会开启 API 认证并生成 token。即使你在使用默认设置,也需要设置认证字段以调用 API。

如果你设置了认证但仍遇到此问题,最常见的情况是没有前置 `Bearer `。Chronocat Satori API
使用 Bearer 认证法,需要添加的请求头为 `Authorization: Bearer token`
15 changes: 15 additions & 0 deletions packages/docs/docs/code/2140/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: 2140:资源不存在
sidebar_position: 2140
---

import { ErrorScope } from '@site/src/components/ErrorScope'

<ErrorScope scope="dev" />

资源不存在。

请求 Satori API 的时候,注意需要加上版本前缀 `/v1/`

如果请求 Satori 资源 API 时出现此问题,请先检查 Chronocat 是否为最新版本。如果 Chronocat
已是最新版本,请通过社区途径寻求帮助。
14 changes: 14 additions & 0 deletions packages/docs/docs/code/2141/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: 2140:不支持的方法
sidebar_position: 2141
---

import { ErrorScope } from '@site/src/components/ErrorScope'

<ErrorScope scope="dev" />

不支持以这种方法请求。

请求 Satori API 时,请使用 POST。

请求 Satori 资源 API 时,请使用 GET。
14 changes: 14 additions & 0 deletions packages/docs/docs/code/2142/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: 2142:内部错误
sidebar_position: 2142
---

import { ErrorScope } from '@site/src/components/ErrorScope'

<ErrorScope scope="chronocat" />

Chronocat 内部出现了错误。

这是 Chronocat 的问题,不过我们尚不清楚问题的具体原因。

请通过社区途径寻求帮助。在明确了问题之后,我们会分配该问题的专属错误码。
12 changes: 12 additions & 0 deletions packages/docs/docs/code/3000/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: 3000:认证失败
sidebar_position: 3000
---

import { ErrorScope } from '@site/src/components/ErrorScope'

<ErrorScope scope="dev" />

你配置了 token,或正在使用默认生成的 token,但并未设置认证字段。

Chronocat 默认即会开启 API 认证并生成 token。即使你在使用默认设置,也需要设置认证字段以调用 API。
14 changes: 7 additions & 7 deletions packages/shell/src/satori/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ export const initSatoriServer = async (
l.warn(
`satori: server: 404,请求 ${url.pathname},来自 ${req.socket.remoteAddress}`,
{
code: 2136,
code: 404,
},
)
res.writeHead(404)
Expand All @@ -85,7 +85,7 @@ export const initSatoriServer = async (
if (req.method !== 'GET') {
l.warn(
`satori: server: 不支持 ${req.method} 请求资源,来自 ${req.socket.remoteAddress}`,
{ code: 2137 },
{ code: 405 },
)
res.writeHead(405)
res.end('405 method not allowed')
Expand All @@ -106,7 +106,7 @@ export const initSatoriServer = async (
new Error('satori: server: 500。', {
cause: e,
}),
{ code: 2138 },
{ code: 500 },
)

res.writeHead(500)
Expand All @@ -124,7 +124,7 @@ export const initSatoriServer = async (
)
) {
l.warn(`satori: server: 401,来自 ${req.socket.remoteAddress}`, {
code: 2139,
code: 401,
})
res.writeHead(401)
res.end('401 unauthorized')
Expand All @@ -137,7 +137,7 @@ export const initSatoriServer = async (
l.warn(
`satori: server: 404,请求 ${url.pathname},来自 ${req.socket.remoteAddress}`,
{
code: 2140,
code: 404,
},
)
res.writeHead(404)
Expand All @@ -148,7 +148,7 @@ export const initSatoriServer = async (
if (req.method !== 'POST') {
l.warn(
`satori: server: 不支持 ${req.method} 请求 API,来自 ${req.socket.remoteAddress}`,
{ code: 2141 },
{ code: 405 },
)
res.writeHead(405)
res.end('405 method not allowed')
Expand All @@ -172,7 +172,7 @@ export const initSatoriServer = async (
cause: e,
}),
{
code: 2142,
code: 500,
},
)

Expand Down

0 comments on commit 2f41a2c

Please sign in to comment.