<Mini Node Server>

윤장원·2022년 6월 18일
0

Nodejs

목록 보기
1/1

http모듈 사용

const http = require("http");

const PORT = 4999;

const ip = "localhost";

const server = http.createServer((request, response) => {
  if (request.method === "OPTIONS") {
    response.writeHead(200, defaultCorsHeader);
    response.end();
  } else if (request.method === "POST" && request.url === "/upper") {
    let body = [];
    request
      .on("data", (chunk) => {
        body.push(chunk);
      })
      .on("end", () => {
        body = Buffer.concat(body).toString();
        response.writeHead(201, defaultCorsHeader); //새로운 리소스를 create하는 경우는 아니라 상태코드가 201이어야 할까??
        response.end(body.toUpperCase());
      });
  } else if (request.method === "POST" && request.url === "/lower") {
    let body = [];
    request
      .on("data", (chunk) => {
        body.push(chunk);
      })
      .on("end", () => {
        body = Buffer.concat(body).toString();
        response.writeHead(201, defaultCorsHeader);
        response.end(body.toLowerCase());
      });
  } else {
    response.statusCode = 404;
    response.end();
  }
});

server.listen(PORT, ip, () => {
  console.log(`http server listen on ${ip}:${PORT}`);
});

const defaultCorsHeader = {
  "Access-Control-Allow-Origin": "*",
  "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
  "Access-Control-Allow-Headers": "Content-Type, Accept",
  "Access-Control-Max-Age": 10,
};

Express 프레임워크 사용

const express = require("express");
const cors = require("cors");
const app = express();
app.use(cors());
app.use(express.json({ strict: false }));
app.use(express.urlencoded({ extended: true }));

const PORT = 4999;

const ip = "localhost";

app.post("/upper", function (req, res) {
  res.status(201).json(req.body.toUpperCase());
});

app.post("/lower", function (req, res) {
  res.status(201).json(req.body.toLowerCase());
});

app.use((req, res, next) => {
  res.status(404).send("Not Found!");
});

app.use(function (err, req, res, next) {
  console.error(err.stack);
  res.status(500).send("Something Broke!");
});

app.listen(PORT, ip, () => {
  console.log(`http server listen on ${ip}:${PORT}`);
});

0개의 댓글