Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | import { RouterError } from '@api/errors/router'; import type { AppContext } from '@api/types/hono'; import { tryTargets } from './handler-utils'; /** * Handles the '/images/generations' API request by selecting the appropriate provider(s) and making the request to them. * * @throws Will throw an error if no provider options can be determined or if the request to the provider(s) fails. * @throws Will throw an 500 error if the handler fails due to some reasons */ export async function imageGenerationsHandler( c: AppContext, ): Promise<Response> { try { const saConfig = c.get('sa_config'); const saRequestData = c.get('sa_request_data'); const tryTargetsResponse = await tryTargets(c, saConfig, saRequestData); return tryTargetsResponse; } catch (err: unknown) { if (err instanceof Error) { console.error('imageGenerate error', err.message); } else { console.error('imageGenerate error', err); } let statusCode = 500; let errorMessage = 'Something went wrong'; if (err instanceof RouterError) { statusCode = 400; errorMessage = err.message; } return new Response( JSON.stringify({ status: 'failure', message: errorMessage, }), { status: statusCode, headers: { 'content-type': 'application/json', }, }, ); } } |