saleor-app-sdk-REDIS_APL/src/middleware/with-registered-saleor-domain-header.ts
Lukasz Ostrowski 47e7865dc5 Add debug messages to middlewares
Add debug messages to middlewares

Apply suggestions from code review

Co-authored-by: Krzysztof Wolski <krzysztof.k.wolski@gmail.com>

better debug messages

Add experimental debug middleware
2022-09-05 10:13:46 +02:00

37 lines
1,022 B
TypeScript

import { Middleware } from "retes";
import { Response } from "retes/response";
import { APL } from "../APL";
import { getSaleorHeaders } from "../headers";
import { createMiddlewareDebug } from "./middleware-debug";
const debug = createMiddlewareDebug("withRegisteredSaleorDomainHeader");
export const withRegisteredSaleorDomainHeader =
({ apl }: { apl: APL }): Middleware =>
(handler) =>
async (request) => {
const { domain: saleorDomain } = getSaleorHeaders(request.headers);
if (!saleorDomain) {
return Response.BadRequest({
success: false,
message: "Domain header missing.",
});
}
debug("Middleware called with domain: \"%s\"", saleorDomain);
const authData = await apl.get(saleorDomain);
if (!authData) {
debug("Auth was not found in APL, will respond with Forbidden status");
return Response.Forbidden({
success: false,
message: `Domain ${saleorDomain} not registered.`,
});
}
return handler(request);
};