로컬에서 devserver를 활용하다보면 contextpath가 달라서 서버 CSRF 토큰 체크가 안되서 PUT, POST 메소드가 안되는 현상이 있다. 이럴 땐 onProxyRes를 활용해서 강제로 Path를 치환해주면 된다.
devServer:{
proxy: {
"/api": {
target: "http://localhost:8000",
pathRewrite: {"^/api" : ""}
},
onProxyRes: function(proxyRes, req, res) {
var cookies = proxyRes.headers['set-cookie'];
var cookieRegex = /Path=\/XXX\//i;
/ / Modify the cookie Path
if (cookies) {
var newCookie = cookies.map(function(cookie) {
if (cookieRegex.test(cookie)) {
return cookie.replace(cookieRegex, 'Path=/');
}
return cookie;
});
/ / Modify the cookie path
delete proxyRes.headers['set-cookie'];
proxyRes.headers['set-cookie'] = newCookie;
}
}
}
}