diff options
author | Juan J. Martinez <jjm@usebox.net> | 2021-11-24 19:26:43 +0000 |
---|---|---|
committer | Juan J. Martinez <jjm@usebox.net> | 2021-11-24 19:26:43 +0000 |
commit | fc72e681017e4253980ba7943549f6716c959b6a (patch) | |
tree | 8a365bb800bf38723700042443dcfb481eeba2b4 /server/test/src | |
parent | e57871745cb5fd64ab7df4b3c0634e46f6747cd5 (diff) | |
download | spacebeans-fc72e681017e4253980ba7943549f6716c959b6a.tar.gz spacebeans-fc72e681017e4253980ba7943549f6716c959b6a.zip |
Fix: host subcompoent in the URL is case insensitive
Referemce: https://datatracker.ietf.org/doc/html/rfc3986/#section-3.2.2
Diffstat (limited to 'server/test/src')
-rw-r--r-- | server/test/src/ServerSpec.scala | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/server/test/src/ServerSpec.scala b/server/test/src/ServerSpec.scala index ea40798..c9a6947 100644 --- a/server/test/src/ServerSpec.scala +++ b/server/test/src/ServerSpec.scala @@ -152,6 +152,11 @@ class ServerSpec extends AnyFlatSpec with Matchers { .handleReq("gemini://localhost:8080/", "127.0.0.1") should be(a[Success]) } + it should "handle host case insensitive" in { + Server(TestData.conf) + .handleReq("gemini://LOCALHOST/", "127.0.0.1") should be(a[Success]) + } + it should "return proxy request refused when the vhost is not found" in { Server(TestData.conf) .handleReq("gemini://otherhost/", "127.0.0.1") should be( @@ -461,6 +466,25 @@ class ServerSpec extends AnyFlatSpec with Matchers { } } + it should "execute a CGI: host is case-insensitive and the value in the conf is used" in { + Server(TestData.cgiConf).handleReq( + "gemini://LOCALHOST/dir/cgi", + "127.0.0.1" + ) should matchPattern { + case Cgi( + _, + _, + "", + "", + "cgi", + TestData.host, + TestData.portStr, + _, + _ + ) => + } + } + it should "execute a CGI: query string" in { Server(TestData.cgiConf).handleReq( "gemini://localhost/dir/cgi?query&string", |