0
웹 서비스를 개발 중이며 언어 (Accept-Language) 용어로 컨텐트 협상을 관리하는 서버를 사용하고 있습니다. 나는 Express에서 우리가 실제로하는 일을 정말로 모른다. HTTP 헤더의 Accept-Language
헤더는 "나는 프랑스 선호"또는 false
아니라면 말한다면Express의 미들웨어 또는 라우터를 통해 데이터 전달
router.all('/*', (req, res, next) => {
var enFrancais = true
var languagesAsked = req.headers["accept-language"]
languagesAsked = languagesAsked.split(',')
var languages = []
for (var languagesAsked of languagesAsked) {
try {
languages.push({language: languagesAsked.split(";")[0],
pref: languagesAsked.split(";")[1].split("=")[1]})
} catch(err) {
languages.push({ language: languagesAsked, pref: "1"})
}
}
_.sortBy(languages, "pref")
if(!languages[0].language.startsWith('fr')) {
enFrancais = false
}
next() //next(enFrancais) don't works. => ERR 500
});
router.get('/', (req, res, next) => {
var APIconfiguration = {
version: "0.1",
baseUrl: "/api",
date: new Date(),
responseLanguage: enFrancais
}
res.send(APIconfiguration)
});
첫 번째 라우터 반환 true
:하지만 몇 가지 코드를 했어요.
나는 (하나가 될하거나 미들웨어가있는 경우)이 HTTP 헤더를 관리하는이 라우터는 서비스의 각 호출에 원하는 (두 번이 코드를 작성하지에.)
내가 처음부터 데이터를 전달할 수 있습니다 두 번째 부분에 제대로 부분?
읽어 주셔서 감사합니다.
사용을 전달하는 req.myVariable을 사용하는 대신 일하고 –
을 req.enFrancais'! 감사합니다 –