pull/715/head
Travis Fischer 2025-06-11 11:01:28 +07:00
rodzic 69b86f4b48
commit d422e91d5b
9 zmienionych plików z 266 dodań i 0 usunięć

Wyświetl plik

@ -0,0 +1,33 @@
import { createRoute, type OpenAPIHono, z } from '@hono/zod-openapi'
const route = createRoute({
description: 'Custom cache control tool',
operationId: 'customCacheControlTool',
method: 'post',
path: '/custom-cache-control-tool',
request: {
body: {
content: {
'application/json': {
schema: z.object({}).passthrough()
}
}
}
},
responses: {
200: {
description: 'Echoed request body',
content: {
'application/json': {
schema: z.object({}).passthrough()
}
}
}
}
})
export function registerCustomCacheControlTool(app: OpenAPIHono) {
return app.openapi(route, async (c) => {
return c.json(c.req.valid('json'))
})
}

Wyświetl plik

@ -0,0 +1,33 @@
import { createRoute, type OpenAPIHono, z } from '@hono/zod-openapi'
const route = createRoute({
description: 'Custom rate limit tool',
operationId: 'customRateLimitTool',
method: 'post',
path: '/custom-rate-limit-tool',
request: {
body: {
content: {
'application/json': {
schema: z.object({}).passthrough()
}
}
}
},
responses: {
200: {
description: 'Echoed request body',
content: {
'application/json': {
schema: z.object({}).passthrough()
}
}
}
}
})
export function registerCustomRateLimitTool(app: OpenAPIHono) {
return app.openapi(route, async (c) => {
return c.json(c.req.valid('json'))
})
}

Wyświetl plik

@ -0,0 +1,26 @@
import { createRoute, type OpenAPIHono, z } from '@hono/zod-openapi'
const route = createRoute({
description: 'Disabled for free plan tool',
operationId: 'disabledForFreePlanTool',
method: 'get',
path: '/disabled-for-free-plan-tool',
responses: {
200: {
description: 'OK',
content: {
'application/json': {
schema: z.object({
status: z.string()
})
}
}
}
}
})
export function registerDisabledForFreePlanTool(app: OpenAPIHono) {
return app.openapi(route, async (c) => {
return c.json({ status: 'ok' })
})
}

Wyświetl plik

@ -0,0 +1,33 @@
import { createRoute, type OpenAPIHono, z } from '@hono/zod-openapi'
const route = createRoute({
description: 'Disabled rate limit tool',
operationId: 'disabledRateLimitTool',
method: 'post',
path: '/disabled-rate-limit-tool',
request: {
body: {
content: {
'application/json': {
schema: z.object({}).passthrough()
}
}
}
},
responses: {
200: {
description: 'Echoed request body',
content: {
'application/json': {
schema: z.object({}).passthrough()
}
}
}
}
})
export function registerDisabledRateLimitTool(app: OpenAPIHono) {
return app.openapi(route, async (c) => {
return c.json(c.req.valid('json'))
})
}

Wyświetl plik

@ -0,0 +1,26 @@
import { createRoute, type OpenAPIHono, z } from '@hono/zod-openapi'
const route = createRoute({
description: 'Disabled tool',
operationId: 'disabledTool',
method: 'get',
path: '/disabled-tool',
responses: {
200: {
description: 'OK',
content: {
'application/json': {
schema: z.object({
status: z.string()
})
}
}
}
}
})
export function registerDisabledTool(app: OpenAPIHono) {
return app.openapi(route, async (c) => {
return c.json({ status: 'ok' })
})
}

Wyświetl plik

@ -0,0 +1,33 @@
import { createRoute, type OpenAPIHono, z } from '@hono/zod-openapi'
const route = createRoute({
description: 'Echoes the request body',
operationId: 'echo',
method: 'post',
path: '/echo',
request: {
body: {
content: {
'application/json': {
schema: z.object({}).passthrough()
}
}
}
},
responses: {
200: {
description: 'Echoed request body',
content: {
'application/json': {
schema: z.object({}).passthrough()
}
}
}
}
})
export function registerEcho(app: OpenAPIHono) {
return app.openapi(route, async (c) => {
return c.json(c.req.valid('json'))
})
}

Wyświetl plik

@ -0,0 +1,33 @@
import { createRoute, type OpenAPIHono, z } from '@hono/zod-openapi'
const route = createRoute({
description: 'No store cache control tool',
operationId: 'noStoreCacheControlTool',
method: 'post',
path: '/no-store-cache-control-tool',
request: {
body: {
content: {
'application/json': {
schema: z.object({}).passthrough()
}
}
}
},
responses: {
200: {
description: 'Echoed request body',
content: {
'application/json': {
schema: z.object({}).passthrough()
}
}
}
}
})
export function registerNoStoreCacheControlTool(app: OpenAPIHono) {
return app.openapi(route, async (c) => {
return c.json(c.req.valid('json'))
})
}

Wyświetl plik

@ -0,0 +1,33 @@
import { createRoute, type OpenAPIHono, z } from '@hono/zod-openapi'
const route = createRoute({
description: 'Pure tool',
operationId: 'pure',
method: 'post',
path: '/pure',
request: {
body: {
content: {
'application/json': {
schema: z.object({}).passthrough()
}
}
}
},
responses: {
200: {
description: 'Echoed request body',
content: {
'application/json': {
schema: z.object({}).passthrough()
}
}
}
}
})
export function registerPure(app: OpenAPIHono) {
return app.openapi(route, async (c) => {
return c.json(c.req.valid('json'))
})
}

Wyświetl plik

@ -3,8 +3,16 @@ import { OpenAPIHono } from '@hono/zod-openapi'
import { logger as honoLogger } from 'hono/logger'
import { initExitHooks } from './exit-hooks'
import { registerCustomCacheControlTool } from './routes/custom-cache-control-tool'
import { registerCustomRateLimitTool } from './routes/custom-rate-limit-tool'
import { registerDisabledForFreePlanTool } from './routes/disabled-for-free-plan-tool'
import { registerDisabledRateLimitTool } from './routes/disabled-rate-limit-tool'
import { registerDisabledTool } from './routes/disabled-tool'
import { registerEcho } from './routes/echo'
import { registerGetUser } from './routes/get-user'
import { registerHealthCheck } from './routes/health-check'
import { registerNoStoreCacheControlTool } from './routes/no-store-cache-control-tool'
import { registerPure } from './routes/pure'
export const app = new OpenAPIHono()
@ -12,6 +20,14 @@ app.use(honoLogger())
registerHealthCheck(app)
registerGetUser(app)
registerDisabledTool(app)
registerDisabledForFreePlanTool(app)
registerEcho(app)
registerPure(app)
registerCustomCacheControlTool(app)
registerNoStoreCacheControlTool(app)
registerCustomRateLimitTool(app)
registerDisabledRateLimitTool(app)
app.doc31('/docs', {
openapi: '3.1.0',