forked from imbytecat/fullstack-starter
refactor: 统一HTTP方法处理为ANY并集中响应
- 将所有HTTP方法处理统一为ANY方法,直接在单个处理器中处理所有请求并返回响应或404错误。
This commit is contained in:
@@ -43,28 +43,17 @@ const handler = new RPCHandler(router, {
|
|||||||
],
|
],
|
||||||
})
|
})
|
||||||
|
|
||||||
async function handle({ request }: { request: Request }) {
|
|
||||||
const { matched, response } = await handler.handle(request, {
|
|
||||||
prefix: '/api/rpc',
|
|
||||||
context: {},
|
|
||||||
})
|
|
||||||
|
|
||||||
if (matched) {
|
|
||||||
return response
|
|
||||||
}
|
|
||||||
|
|
||||||
return new Response('Not Found', { status: 404 })
|
|
||||||
}
|
|
||||||
|
|
||||||
export const Route = createFileRoute('/api/rpc/$')({
|
export const Route = createFileRoute('/api/rpc/$')({
|
||||||
server: {
|
server: {
|
||||||
handlers: {
|
handlers: {
|
||||||
HEAD: handle,
|
ANY: async ({ request }) => {
|
||||||
GET: handle,
|
const { response } = await handler.handle(request, {
|
||||||
POST: handle,
|
prefix: '/api/rpc',
|
||||||
PUT: handle,
|
context: {},
|
||||||
PATCH: handle,
|
})
|
||||||
DELETE: handle,
|
|
||||||
|
return response ?? new Response('Not Found', { status: 404 })
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user