Show
Ignore:
Timestamp:
08/11/08 00:21:24 (5 months ago)
Author:
dunker@…
Branch:
default
Message:

do proper error status returning

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • gozerbot/rest/server.py

    r2229 r2231  
    109109        request.value = None 
    110110        type = request.command 
    111         result = [] 
    112111        try: 
     112            func = self.handlers[splitted][type] 
     113        except (KeyError, ValueError): 
    113114            try: 
    114                 func = self.handlers[splitted][type] 
     115                func = self.handlers[splitted[:-1]][type] 
     116                request.value = splitted[-1] 
    115117            except (KeyError, ValueError): 
    116                 try: 
    117                     func = self.handlers[splitted[:-1]][type] 
    118                     request.value = splitted[-1] 
    119                 except (KeyError, ValueError): 
    120                     return result 
    121             result = func(request) 
    122         except Exception, ex: 
    123             handle_exception() 
     118                return result 
     119        result = func(request) 
    124120        return result 
    125121 
    126122    def makeresult(self, request): 
    127         try: 
    128             result = self.do(request) 
    129         except: 
    130             handle_exception() 
    131             return [] 
     123        result = self.do(request) 
    132124        return result 
    133125 
     
    156148 
    157149    def sendresult(self): 
    158         result = self.server.makeresult(self) 
     150        try: 
     151            result = self.server.makeresult(self) 
     152        except Exception, ex: 
     153            handle_exception() 
     154            self.send_error(501, 'internal server error') 
     155            return 
    159156        self.writeheader() 
    160157        self.wfile.write(result) 
     
    162159 
    163160    def handle_request(self): 
    164          if not self.server.entrypoint(self): 
     161        if not self.server.entrypoint(self): 
    165162            return 
    166          self.sendresult() 
     163        self.sendresult() 
    167164 
    168165    do_DELETE = do_PUT = do_GET = do_POST = handle_request