wonderful, this works, also if the workaround smells fishy ^_^

regarding response.status and response.header .... are they ignored at
all ?



On 5 Ago, 13:40, mdipierro <mdipie...@cs.depaul.edu> wrote:
> You can do
>
> a= {'foo-':'bar','bar':'foo'}
> HTTP(404,**a)
>
> On Aug 5, 5:45 am, Niphlod <niph...@gmail.com> wrote:
>
> > ok, I digged more, and sadly I think that for problem 1) HTTP should
> > be rewritten, or at least a new class should be extended to let more
> > flexibility.
>
> > Don't know if I'm boring some ultra-technical pythonist, but I'll try
> > to explain what I managed to understand.
>
> > this is how HTTP is defined in http.py :
>
> > class HTTP(BaseException):
>
> >     def __init__( self, status, body='', **headers ):
> >                bla bla bla
>
> > basically, every extra argument passed get transformed to a dict and
> > passed along with the function.
>
> > eg. HTTP(401,['hello'],foo='bar', bar='foo') ---> HTTP(401,
> > ['hello'],dict(foo='bar',bar='foo')) --> __init__ done
>
> > Now, the hard part: dict() only allow "keyword" syntax for the keys,
> > and that will be in our case the various headers "name", while their
> > values should be header content. Unfortunately, keywords accept
> > letters, digit and underscore.... no dash.
>
> > In fact:
> > **************
> > python> a= dict(foo='bar',bar='foo')
> > > a= dict(foo_1='bar',bar='foo')
> > > a= dict(foo-1='bar',bar='foo')
>
> > SyntaxError: keyword can't be an expression
> > **************
>
> > So, we can't actually pass any header to HTTP() without interfering
> > with dict() call that gets called on **headers if our keyword contains
> > '-' . That eliminates a LOT of standard headers and make HTTP quite
> > unuseful... I can't get the reason behind this wasn't a problem for
> > peoples writing APIs or services....
>
> > Another question popped: can we use response.status and
> > response.headers ? It seems that if my controller function return
> > anything (string, list or dict) the status is always 200 and no added
> > headers show up in firebug....

Reply via email to