saleor-app-sdk-REDIS_APL/src/middleware/with-registered-saleor-domain-header.ts

22 lines
596 B
TypeScript
Raw Normal View History

2022-08-25 10:52:19 +00:00
import { Middleware } from "retes";
import { Response } from "retes/response";
import { APL } from "../APL";
import { getSaleorHeaders } from "../headers";
export const withRegisteredSaleorDomainHeader =
({ apl }: { apl: APL }): Middleware =>
(handler) =>
async (request) => {
const { domain: saleorDomain } = getSaleorHeaders(request.headers);
const authData = await apl.get(saleorDomain);
if (!authData) {
return Response.Forbidden({
success: false,
message: `Domain ${saleorDomain} not registered.`,
});
}
return handler(request);
};