HTTPRequestHotfix Product
This so called Hotfix
adds the new method query_string
to the
HTTPRequest class. The method is then accessible through the
REQUEST
object.
It builds a url quoted (quote_plus) query string from a dictionary
(usually from the form dictionary which is based on QUERY_STRING).
Usage
query_string([[replace]=replace_dict], [[original]=original_dict]])
Updates original_dict
by the values in replace_dict
and
returns the result as url quoted query string.
original_dict
defaults to REQUEST.form
if no parameter
is passed to it. Keys in replace_dict
with a value of
None
(or _.None in DTML) will be deleted from original_dicts
before being quoted.
The original REQUEST.form
will remain unchanged.
Examples
(assuming REQUEST.form
is {'foobar':no translation
, 'foo':'bar'})
- query_string(replace={'foobar':'furchtbar in german'})
returns
foobar=furchtbar+in+german&foo=bar
- query_string(replace={'gaga':'&%+'}, original={
bar
, 'foo'})
returns gaga=26%25%2b&bar=foo
- query_string(replace={'bar':
foo
, foo
, _.None})
returns foobar=no+translation&bar=foo
- The same in DTML:
<dtml-var "REQUEST.query_string(replace={'bar':
foo
, foo
, _.None})">
returns foobar=no+translation&bar=foo
Have fun!
Gr�goire Weber, 2001-07-12