ServerAlias
[hcoop/domtool2.git] / src / domain.sml
index 71d448d..224755f 100644 (file)
@@ -71,6 +71,17 @@ fun yourPath path =
                                     orelse ch = #"-" orelse ch = #"_") path
     andalso SS.exists (fn s' => path = s' orelse String.isPrefix (s' ^ "/") path) (your_paths ())
 
                                     orelse ch = #"-" orelse ch = #"_") path
     andalso SS.exists (fn s' => path = s' orelse String.isPrefix (s' ^ "/") path) (your_paths ())
 
+fun yourDomainHost s =
+    let
+       val (pref, suf) = Substring.splitl (fn ch => ch <> #".") (Substring.full s)
+    in
+       print ("pref[" ^ Substring.string pref ^ "] suf[" ^ Substring.string suf ^ "]\n");
+       Substring.size suf > 0
+       andalso validHost (Substring.string pref)
+       andalso yourDomain (Substring.string
+                              (Substring.slice (suf, 1, NONE)))
+    end
+
 val _ = Env.type_one "no_spaces"
                     Env.string
                     (CharVector.all (fn ch => not (Char.isSpace ch)))
 val _ = Env.type_one "no_spaces"
                     Env.string
                     (CharVector.all (fn ch => not (Char.isSpace ch)))
@@ -94,6 +105,10 @@ val _ = Env.type_one "your_domain"
        Env.string
        yourDomain
 
        Env.string
        yourDomain
 
+val _ = Env.type_one "your_domain_host"
+       Env.string
+       yourDomainHost
+
 val _ = Env.type_one "your_user"
        Env.string
        yourUser
 val _ = Env.type_one "your_user"
        Env.string
        yourUser