perwendel / spark

A simple expressive web framework for java. Spark has a kotlin DSL https://github.com/perwendel/spark-kotlin
Apache License 2.0
9.63k stars 1.56k forks source link

Fix #1077 : Solve the bad route selection based on acceptType #1238

Open Chauncey-Xxy opened 3 years ago

Chauncey-Xxy commented 3 years ago

Try to fix #1077 Because the #1224 request has some bugs, and I deleted the repository during the previous test, so close the previous request and pull the new request:

I am not sure whether it is a bug, because it is tagged as Bug ..?, but I think it conflict with the documentation, so I try to fix it.

In short, we expect the input with empty acceptType will match any possible types as follows: curl -i -H "Accept: application/json" http://localhost:4567/hello : Hello application json curl -i -H "Accept: text/html" http://localhost:4567/hello : Go Away!!! curl http://localhost:4567/hello : Hello application json Now the first and second are right, but the last command will get output: Go Away!!! I think it is not reasonable because the empty acceptType should match every possibilities and use the earliest match principle, it should match the first possible acceptType. So I change the codes to match "/" with the earliest acceptType.

Co-Authored-By: Bugjudger 56737316+bugjudger@users.noreply.github.com