summaryrefslogtreecommitdiff
path: root/server/test/src/ServerSpec.scala
diff options
context:
space:
mode:
authorJuan J. Martinez <jjm@usebox.net>2021-11-24 19:26:43 +0000
committerJuan J. Martinez <jjm@usebox.net>2021-11-24 19:26:43 +0000
commitfc72e681017e4253980ba7943549f6716c959b6a (patch)
tree8a365bb800bf38723700042443dcfb481eeba2b4 /server/test/src/ServerSpec.scala
parente57871745cb5fd64ab7df4b3c0634e46f6747cd5 (diff)
downloadspacebeans-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/ServerSpec.scala')
-rw-r--r--server/test/src/ServerSpec.scala24
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",