Ignore:
Timestamp:
03/09/07 13:57:18 (14 years ago)
Author:
lawrence
Message:

Better use of html response headers 400 and 401.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI05-delivery/ows_framework/trunk/ows_server/ows_server/controllers/retrieve.py

    r2852 r2871  
    4040        if status: 
    4141            c.xml='<p>%s</p>'%status 
    42             return render_response('error') 
     42            return Response(render('error'),code=400) 
     43         
    4344        status,x=interface.GetXML(uri,outputSchema=self.outputSchema) 
    44          
    4545        if status: 
    4646            #(the return object x is an xmlHandler object) 
     
    4848            return Response(c.xml,'application/xml') 
    4949        else: 
    50             return Response(x)  
     50            e=404 
     51            if x.startswith('<p> Access'): e=401 
     52            return Response(render('error'),code=e) 
    5153         
    5254    def view(self,uri): 
     
    5759        if status: 
    5860            c.xml='<p>%s</p>'%status  
    59             return render_response('error') 
     61            return Response(render('error'),code=400) 
    6062        status,x=interface.GetXML(uri,outputSchema=self.outputSchema) 
    6163        c.title='Viewing [%s]'%self.uri 
     
    117119                    session['history']=rb.tolist() 
    118120            session.save() 
    119         else:  
     121            code=200 
     122        else: 
     123            if x.startswith('<p> Access Denied'): 
     124                code=401 
     125            else: code=400 
    120126            c.xml='<div class="error">%s</div>'%x 
    121127            r='error' 
    122          
     128            print c.xml 
     129             
    123130        if r=='content': 
    124131            #we're showing an xml document ... but it could go wrong if 
    125132            #we have crap content ... 
    126133            try: 
    127                 resp=render_response(r) 
     134                resp=render(r) 
    128135            except ExpatError,e: 
    129136                c.xml='<p> XML content is not well formed </p>' 
    130137                c.doc=str(x) 
    131                 resp=render_response('error') 
     138                resp=render('error') 
     139                code=400 
     140            resp=Response(resp,code=code) 
    132141        else: 
    133142            try: 
    134                 resp=render_response(r) 
     143                resp=Response(render(r),code=code) 
    135144            except Exception,e: 
    136145                c.xml='<p> Unexpected error [%s] viewing [%s] </p>'%(str(e),uri) 
    137146                c.doc='' 
    138                 resp=render_response('error') 
     147                code=400 
     148                resp=Reponse(render('error'),code=code) 
    139149        return resp 
    140150     
Note: See TracChangeset for help on using the changeset viewer.