-
Notifications
You must be signed in to change notification settings - Fork 0
/
web_request.lasso
38 lines (31 loc) · 1.07 KB
/
web_request.lasso
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?lassoscript
define getparams => {
var(_getparams) ? return $_getparams
return $_getparams := collateparams(web_request->queryparams)
}
define postparams => {
var(_postparams) ? return $_postparams
return $_postparams := collateparams(web_request->postparams)
}
define collateparams(params::staticarray) => {
local(m = map,n,v,p)
#params->foreach => {
#p = #1
#n = #p->first
if(#n) => {
#v = #m->find(#n)
#v->isa(::array)
? #v->insert(#p->second)
| #v = array(#p->second)
}
#m->insert(#n = #v)
}
return #m
}
define getparam(name::string) => (getparams->find(#name) || staticarray)->join('\n')
define postparam(name::string) => (postparams->find(#name) || staticarray)->join('\n')
define getparam(name::string,i::integer) => protect => {return getparams->find(#name)->get(#i)}
define postparam(name::string,i::integer) => protect => {return postparams->find(#name)->get(#i)}
define getparam(name::string,-count) => (getparams->find(#name) || staticarray)->size
define postparam(name::string,-count) => (postparams->find(#name) || staticarray)->size
?>