카테고리 없음
미니 노드서버
해말그미
2023. 4. 6. 22:24
const http = require('http');
const PORT = 4999;
const ip = 'localhost';
const server = http.createServer((request, response) => {
const {method, url, headers} = request
let body = [];
request.on('data', (chunk) => {
body.push(chunk);
}).on('end', () => {
body = Buffer.concat(body).toString();
if(request.method === 'POST' && request.url === '/upper'){
response.writeHead(200, defaultCorsHeader)
response.end(body.toUpperCase())
}else if(request.method === 'POST' && request.url === '/lower'){
response.writeHead(200, defaultCorsHeader)
response.end(body.toLowerCase())
}else if(request.method === 'OPTIONS'){
response.writeHead(200, defaultCorsHeader)
response.end()
}else{
response.writeHead(404, defaultCorsHeader)
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 // preflight request는 10초까지 허용된다
};