2014-04-21 3 views
2

expressJS API가 있습니다. 난 단지 두 개의 헤더를 동의에 적용하고 다른 POST 요청을 거부하고 응답 표현할 수있는 방법이 있나요expressJS : 허용되는 콘텐츠 유형을 제한하십시오.

application/x-www-form-urlencoded

application/json

: POST 노선에서, 난 단지 헤더의 두 가지 유형을 수용 어떤 종류의 400 오류가 있습니까?

답변

4

당신은 당 노선으로 또는 모든 경로에 대해이 같은 간단한 미들웨어를 사용할 수 있습니다

var RE_CONTYPE = /^application\/(?:x-www-form-urlencoded|json)(?:[\s;]|$)/i; 
app.use(function(req, res, next) { 
    if (req.method === 'POST' && !RE_CONTYPE.test(req.headers['content-type'])) 
    return res.send(406); 
    next(); 
}); 
관련 문제