diff options
Diffstat (limited to 'src/settings.sml')
-rw-r--r-- | src/settings.sml | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/settings.sml b/src/settings.sml index 6712925f..45e8640a 100644 --- a/src/settings.sml +++ b/src/settings.sml @@ -400,16 +400,19 @@ val url = ref ([] : rule list) val mime = ref ([] : rule list) val request = ref ([] : rule list) val response = ref ([] : rule list) +val env = ref ([] : rule list) fun setUrlRules ls = url := ls fun setMimeRules ls = mime := ls fun setRequestHeaderRules ls = request := ls fun setResponseHeaderRules ls = response := ls +fun setEnvVarRules ls = env := ls fun getUrlRules () = !url fun getMimeRules () = !mime fun getRequestHeaderRules () = !request fun getResponseHeaderRules () = !response +fun getEnvVarRules () = !env fun check f rules s = let @@ -437,10 +440,12 @@ fun check f rules s = val checkUrl = check (fn _ => true) url val validMime = CharVector.all (fn ch => Char.isAlphaNum ch orelse ch = #"/" orelse ch = #"-" orelse ch = #".") +val validEnv = CharVector.all (fn ch => Char.isAlphaNum ch orelse ch = #"_" orelse ch = #".") val checkMime = check validMime mime val checkRequestHeader = check validMime request val checkResponseHeader = check validMime response +val checkEnvVar = check validEnv env type protocol = { |