Expand allowed set of proxy_targets
[hcoop/domtool2.git] / src / plugins / apache.sml
index 2d384a9..e2f70d3 100644 (file)
@@ -68,13 +68,19 @@ val _ = Env.type_one "proxy_target"
                fun default () = List.exists (fn s' => s = s') Config.Apache.proxyTargets
            in
                case String.fields (fn ch => ch = #":") s of
-                   ["http", "//localhost", rest] =>
-                   (case String.fields (fn ch => ch = #"/") rest of
-                        port :: _ =>
-                        (case Int.fromString port of
-                             NONE => default ()
-                           | SOME n => n > 1024 orelse default ())
-                      | _ => default ())
+                   "http" :: "//localhost" :: rest =>
+                   let
+                       val rest = String.concatWith ":" rest
+                   in
+                       CharVector.all (fn ch => Char.isPrint ch andalso not (Char.isSpace ch)
+                                                andalso ch <> #"\"" andalso ch <> #"'") rest
+                       andalso case String.fields (fn ch => ch = #"/") rest of
+                                   port :: _ =>
+                                   (case Int.fromString port of
+                                        NONE => default ()
+                                      | SOME n => n > 1024 orelse default ())
+                                 | _ => default ()
+                   end
                  | _ => default ()
            end)