Pinned Solution
7 months ago
Okay, got it! You are not using express server, and that's why seeing the error with the regular CORS package. You used hono/cors package, so can you try this:
app.use(
cors({
origin: (origin) => {
return ["https://dash.waffle.host", "https://api.waffle.host"].includes(origin)
? origin
: "";
},
allowHeaders: ["Content-Type", "Authorization"],
allowMethods: ["GET", "POST", "OPTIONS"],
credentials: true,
})
);I have removed the * from the config, so that it affects all available routes
Note: These CORS errors only originate when a CUSTOM-DOMAIN is linked to the Railway service
11 Replies
7 months ago
Can you provide your railway-service URL for which you are seeing these errors!
clashing
Can you provide your railway-service URL for which you are seeing these errors!
7 months ago
7 months ago
From the domains & the request params, I can see that you are using a Custom Domain. The CORS error arises for those deployments that have a Custom Domain linked to them. And for those, you can just do this to get over the issue:
const cors = require("cors");
app.use(cors());Make sure you install cors before adding these lines to your server file.
If that helps you clear your issue, do mark this as the solution 
irazvan2745
I already do that
7 months ago
No need to use this extensive CORS configuration!app.use(cors()) works for every service for me! Just give it a try (add this line right after instantiating/creating the app object)
7 months ago
with the cors package im getting this type error ```No overload matches this call.
Overload 1 of 21, '(...handlers: MiddlewareHandler<BlankEnv, never, {}>[]): Hono<{}, BlankSchema, "/">', gave the following error.
Argument of type '(req: CorsRequest, res: { statusCode?: number | undefined; setHeader(key: string, value: string): any; end(): any; }, next: (err?: any) => any) => void' is not assignable to parameter of type 'MiddlewareHandler<BlankEnv, never, {}>'.
Target signature provides too few arguments. Expected 3 or more, but got 2.
Overload 2 of 21, '(handler: MiddlewareHandler<BlankEnv, never, {}>): Hono<{}, BlankSchema, "/">', gave the following error.
Argument of type '(req: CorsRequest, res: { statusCode?: number | undefined; setHeader(key: string, value: string): any; end(): any; }, next: (err?: any) => any) => void' is not assignable to parameter of type 'MiddlewareHandler<BlankEnv, never, {}>'.
Target signature provides too few arguments. Expected 3 or more, but got 2.
Overload 3 of 21, '(path: string, ...handlers: MiddlewareHandler<BlankEnv, string, {}>[]): Hono<BlankEnv, BlankSchema, "/">', gave the following error.
Argument of type '(req: CorsRequest, res: { statusCode?: number | undefined; setHeader(key: string, value: string): any; end(): any; }, next: (err?: any) => any) => void' is not assignable to parameter of type 'string'. (ts 2769)```
and with hono/cors its the same error CORS No Allow Credentials
irazvan2745
with the cors package im getting this type error ```No overload matches this call.Overload 1 of 21, '(...handlers: MiddlewareHandler<BlankEnv, never, {}>[]): Hono<{}, BlankSchema, "/">', gave the following error.Argument of type '(req: CorsRequest, res: { statusCode?: number | undefined; setHeader(key: string, value: string): any; end(): any; }, next: (err?: any) => any) => void' is not assignable to parameter of type 'MiddlewareHandler<BlankEnv, never, {}>'.Target signature provides too few arguments. Expected 3 or more, but got 2.Overload 2 of 21, '(handler: MiddlewareHandler<BlankEnv, never, {}>): Hono<{}, BlankSchema, "/">', gave the following error.Argument of type '(req: CorsRequest, res: { statusCode?: number | undefined; setHeader(key: string, value: string): any; end(): any; }, next: (err?: any) => any) => void' is not assignable to parameter of type 'MiddlewareHandler<BlankEnv, never, {}>'.Target signature provides too few arguments. Expected 3 or more, but got 2.Overload 3 of 21, '(path: string, ...handlers: MiddlewareHandler<BlankEnv, string, {}>[]): Hono<BlankEnv, BlankSchema, "/">', gave the following error.Argument of type '(req: CorsRequest, res: { statusCode?: number | undefined; setHeader(key: string, value: string): any; end(): any; }, next: (err?: any) => any) => void' is not assignable to parameter of type 'string'. (ts 2769)```and with hono/cors its the same error CORS No Allow Credentials
7 months ago
Okay, got it! You are not using express server, and that's why seeing the error with the regular CORS package. You used hono/cors package, so can you try this:
app.use(
cors({
origin: (origin) => {
return ["https://dash.waffle.host", "https://api.waffle.host"].includes(origin)
? origin
: "";
},
allowHeaders: ["Content-Type", "Authorization"],
allowMethods: ["GET", "POST", "OPTIONS"],
credentials: true,
})
);I have removed the * from the config, so that it affects all available routes
Note: These CORS errors only originate when a CUSTOM-DOMAIN is linked to the Railway service
irazvan2745
You are amazing, Thank you so much. Cors always gave me problems
7 months ago
Great, glad I helped you 
Status changed to Solved angelo-railway • 7 months ago


