Skip to content
Ian Patrick edited this page Jul 6, 2023 · 2 revisions

Introdução

Plakum é um projeto pequeno que consiste em simples testes de API, é inspirado fortemente em Express e mantém uma sintaxe semelhante. Seu núcleo é feito totalmente em TypeScript, no qual permite o uso de tipagens personalizadas da própria ferramenta.

Subindo um exemplo simples

import Plakum, { Request, Response } from 'plakum-framework';

const PORT = 3000;
const app = new Plakum();

app.json();
app.get('/', (req: Request, res: Response) => {
  return res.send({ message: "Hello World" });
});

app.init(PORT, () => console.log(`Servidor rodando na porta ${PORT}`));

Cross-Origin Resource Sharing (CORS)

O CORS (Cross-origin Resource Sharing) é um mecanismo utilizado pelos navegadores para compartilhar recursos entre diferentes origens. O CORS é uma especificação do W3C e faz uso de headers do HTTP para informar aos navegadores se determinado recurso pode ser ou não acessado.

Fonte: O que é CORS?

Para definir este recurso de forma global em seu projeto utilize método cors da classe principal.

app.cors({
  origin: 'http://localhost:3000',
  methods: ['GET'],
  headers: '*',
  maxAge: 86400
});

app.json();
app.get('/', (req: Request, res: Response) => {
  return res.send({ message: "Hello World" });
});

Para definir apenas dentro do escopo de uma rota use o método setCors.

app.get('/', (req: Request, res: Response) => {

  res.setCors({
    origin: 'http://localhost:3000',
    methods: ['GET'],
    headers: '*',
    maxAge: 86400
  });

  return res.send({ message: "Hello World" });
});

Você também pode omitir alguns parâmetros do objeto CORS caso queira. Dessa forma, cada opção omitida será tratada com seus valores padrão. Por exemplo, origin: '*'.