我正在为嵌入式Jetty制作DSL,但在设置characterEncoding和时遇到问题contentType。我希望用户能够为这两个字段指定默认值,但是Jetty使得生活变得艰难。
res.characterEncoding = null给出res.characterEncoding值iso-8859-1。
res.characterEncoding = "",给出res.characterEncoding值"",但res.contentType变为application/json;charset=
res.characterEncoding = ""THEN res.characterEncoding = null的作用与只是做的一样res.characterEncoding = ""
基于这种奇怪的行为,我最终得到了一个荒谬的代码片段:
if (res.characterEncoding.contains(";javalin-default") || res.contentType.contains(";javalin-default")) {
res.contentType = res.contentType.replace(";javalin-default", "")
res.characterEncoding = null
if (res.contentType.contains("application/json")) {
res.contentType = "application/json"
} else {
res.characterEncoding = defaultCharacterEncoding
}
}
Run Code Online (Sandbox Code Playgroud)
但这不是正确的事情。有任何想法吗?
我在这里有一个问题:https : //github.com/tipsy/javalin/issues/259