comparison src/settings.sml @ 1799:3d922a28370b

Basis.getenv
author Adam Chlipala <adam@chlipala.net>
date Thu, 02 Aug 2012 16:33:25 -0400
parents 2f8b8952fe27
children 3c56aa6a0f55
comparison
equal deleted inserted replaced
1798:10a2cb93d175 1799:3d922a28370b
398 398
399 val url = ref ([] : rule list) 399 val url = ref ([] : rule list)
400 val mime = ref ([] : rule list) 400 val mime = ref ([] : rule list)
401 val request = ref ([] : rule list) 401 val request = ref ([] : rule list)
402 val response = ref ([] : rule list) 402 val response = ref ([] : rule list)
403 val env = ref ([] : rule list)
403 404
404 fun setUrlRules ls = url := ls 405 fun setUrlRules ls = url := ls
405 fun setMimeRules ls = mime := ls 406 fun setMimeRules ls = mime := ls
406 fun setRequestHeaderRules ls = request := ls 407 fun setRequestHeaderRules ls = request := ls
407 fun setResponseHeaderRules ls = response := ls 408 fun setResponseHeaderRules ls = response := ls
409 fun setEnvVarRules ls = env := ls
408 410
409 fun getUrlRules () = !url 411 fun getUrlRules () = !url
410 fun getMimeRules () = !mime 412 fun getMimeRules () = !mime
411 fun getRequestHeaderRules () = !request 413 fun getRequestHeaderRules () = !request
412 fun getResponseHeaderRules () = !response 414 fun getResponseHeaderRules () = !response
415 fun getEnvVarRules () = !env
413 416
414 fun check f rules s = 417 fun check f rules s =
415 let 418 let
416 fun chk (ls : rule list) = 419 fun chk (ls : rule list) =
417 case ls of 420 case ls of
435 end 438 end
436 439
437 val checkUrl = check (fn _ => true) url 440 val checkUrl = check (fn _ => true) url
438 441
439 val validMime = CharVector.all (fn ch => Char.isAlphaNum ch orelse ch = #"/" orelse ch = #"-" orelse ch = #".") 442 val validMime = CharVector.all (fn ch => Char.isAlphaNum ch orelse ch = #"/" orelse ch = #"-" orelse ch = #".")
443 val validEnv = CharVector.all (fn ch => Char.isAlphaNum ch orelse ch = #"_" orelse ch = #".")
440 444
441 val checkMime = check validMime mime 445 val checkMime = check validMime mime
442 val checkRequestHeader = check validMime request 446 val checkRequestHeader = check validMime request
443 val checkResponseHeader = check validMime response 447 val checkResponseHeader = check validMime response
448 val checkEnvVar = check validEnv env
444 449
445 450
446 type protocol = { 451 type protocol = {
447 name : string, 452 name : string,
448 compile : string, 453 compile : string,