Revision 84f2756e

b/daemons/ganeti-noded
80 80

  
81 81
    """
82 82
    if req.request_method.upper() != "PUT":
83
      raise http.HTTPBadRequest()
83
      raise http.HttpBadRequest()
84 84

  
85 85
    path = req.request_path
86 86
    if path.startswith("/"):
......
88 88

  
89 89
    method = getattr(self, "perspective_%s" % path, None)
90 90
    if method is None:
91
      raise http.HTTPNotFound()
91
      raise http.HttpNotFound()
92 92

  
93 93
    try:
94 94
      try:
b/daemons/ganeti-rapi
56 56
    try:
57 57
      fn = getattr(handler, method)
58 58
    except AttributeError, err:
59
      raise http.HTTPBadRequest()
59
      raise http.HttpBadRequest()
60 60

  
61 61
    try:
62 62
      result = fn()
b/lib/http/__init__.py
119 119
  """
120 120

  
121 121

  
122
class HTTPException(Exception):
122
class HttpException(Exception):
123 123
  code = None
124 124
  message = None
125 125

  
......
129 129
      self.message = message
130 130

  
131 131

  
132
class HTTPBadRequest(HTTPException):
132
class HttpBadRequest(HttpException):
133 133
  code = 400
134 134

  
135 135

  
136
class HTTPForbidden(HTTPException):
136
class HttpForbidden(HttpException):
137 137
  code = 403
138 138

  
139 139

  
140
class HTTPNotFound(HTTPException):
140
class HttpNotFound(HttpException):
141 141
  code = 404
142 142

  
143 143

  
144
class HTTPGone(HTTPException):
144
class HttpGone(HttpException):
145 145
  code = 410
146 146

  
147 147

  
148
class HTTPLengthRequired(HTTPException):
148
class HttpLengthRequired(HttpException):
149 149
  code = 411
150 150

  
151 151

  
152
class HTTPInternalError(HTTPException):
152
class HttpInternalError(HttpException):
153 153
  code = 500
154 154

  
155 155

  
156
class HTTPNotImplemented(HTTPException):
156
class HttpNotImplemented(HttpException):
157 157
  code = 501
158 158

  
159 159

  
160
class HTTPServiceUnavailable(HTTPException):
160
class HttpServiceUnavailable(HttpException):
161 161
  code = 503
162 162

  
163 163

  
164
class HTTPVersionNotSupported(HTTPException):
164
class HttpVersionNotSupported(HttpException):
165 165
  code = 505
166 166

  
167 167

  
168
class HTTPJsonConverter:
168
class HttpJsonConverter:
169 169
  CONTENT_TYPE = "application/json"
170 170

  
171 171
  def Encode(self, data):
......
475 475
            self._ReadRequest()
476 476
            self._ReadPostData()
477 477
            self._HandleRequest()
478
          except HTTPException, err:
478
          except HttpException, err:
479 479
            self._SetErrorStatus(err)
480 480
        finally:
481 481
          # Try to send a response
......
501 501
            (WEEKDAYNAME[wd], day, MONTHNAME[month], year, hh, mm, ss))
502 502

  
503 503
  def _SetErrorStatus(self, err):
504
    """Sets the response code and body from a HTTPException.
504
    """Sets the response code and body from a HttpException.
505 505

  
506
    @type err: HTTPException
506
    @type err: HttpException
507 507
    @param err: Exception instance
508 508

  
509 509
    """
......
547 547
        result = self._server.HandleRequest(self)
548 548

  
549 549
        # TODO: Content-type
550
        encoder = HTTPJsonConverter()
550
        encoder = HttpJsonConverter()
551 551
        body = encoder.Encode(result)
552 552

  
553 553
        self.response_content_type = encoder.CONTENT_TYPE
554 554
        self.response_body = body
555
      except (HTTPException, KeyboardInterrupt, SystemExit):
555
      except (HttpException, KeyboardInterrupt, SystemExit):
556 556
        raise
557 557
      except Exception, err:
558 558
        logging.exception("Caught exception")
559
        raise HTTPInternalError(message=str(err))
559
        raise HttpInternalError(message=str(err))
560 560
      except:
561 561
        logging.exception("Unknown exception")
562
        raise HTTPInternalError(message="Unknown error")
562
        raise HttpInternalError(message="Unknown error")
563 563

  
564
    except HTTPException, err:
564
    except HttpException, err:
565 565
      self._SetErrorStatus(err)
566 566

  
567 567
  def _SendResponse(self):
......
616 616
      requestline = requestline[:-1]
617 617

  
618 618
    if not requestline:
619
      raise HTTPBadRequest("Empty request line")
619
      raise HttpBadRequest("Empty request line")
620 620

  
621 621
    self.request_requestline = requestline
622 622

  
......
627 627
    if len(words) == 3:
628 628
      [method, path, version] = words
629 629
      if version[:5] != 'HTTP/':
630
        raise HTTPBadRequest("Bad request version (%r)" % version)
630
        raise HttpBadRequest("Bad request version (%r)" % version)
631 631

  
632 632
      try:
633 633
        base_version_number = version.split('/', 1)[1]
......
640 640
        #      turn is lower than HTTP/12.3;
641 641
        #   - Leading zeros MUST be ignored by recipients.
642 642
        if len(version_number) != 2:
643
          raise HTTPBadRequest("Bad request version (%r)" % version)
643
          raise HttpBadRequest("Bad request version (%r)" % version)
644 644

  
645 645
        version_number = int(version_number[0]), int(version_number[1])
646 646
      except (ValueError, IndexError):
647
        raise HTTPBadRequest("Bad request version (%r)" % version)
647
        raise HttpBadRequest("Bad request version (%r)" % version)
648 648

  
649 649
      if version_number >= (2, 0):
650
        raise HTTPVersionNotSupported("Invalid HTTP Version (%s)" %
650
        raise HttpVersionNotSupported("Invalid HTTP Version (%s)" %
651 651
                                      base_version_number)
652 652

  
653 653
    elif len(words) == 2:
654 654
      version = HTTP_0_9
655 655
      [method, path] = words
656 656
      if method != HTTP_GET:
657
        raise HTTPBadRequest("Bad HTTP/0.9 request type (%r)" % method)
657
        raise HttpBadRequest("Bad HTTP/0.9 request type (%r)" % method)
658 658

  
659 659
    else:
660
      raise HTTPBadRequest("Bad request syntax (%r)" % requestline)
660
      raise HttpBadRequest("Bad request syntax (%r)" % requestline)
661 661

  
662 662
    # Examine the headers and look for a Connection directive
663 663
    headers = mimetools.Message(self.rfile, 0)
......
694 694

  
695 695
    # 411 Length Required is specified in RFC2616, section 10.4.12 (HTTP/1.1)
696 696
    if content_length is None:
697
      raise HTTPLengthRequired("Missing Content-Length header or"
697
      raise HttpLengthRequired("Missing Content-Length header or"
698 698
                               " invalid format")
699 699

  
700 700
    data = self.rfile.read(content_length)
701 701

  
702 702
    # TODO: Content-type, error handling
703 703
    if data:
704
      self.request_post_data = HTTPJsonConverter().Decode(data)
704
      self.request_post_data = HttpJsonConverter().Decode(data)
705 705
    else:
706 706
      self.request_post_data = None
707 707

  
b/lib/rapi/connector.py
88 88
    if result:
89 89
      return result
90 90
    else:
91
      raise http.HTTPNotFound()
91
      raise http.HttpNotFound()
92 92

  
93 93

  
94 94
class R_root(baserlib.R_Generic):
b/lib/rapi/rlib1.py
230 230
    diagnose_data = ganeti.cli.SubmitOpCode(op)
231 231

  
232 232
    if not isinstance(diagnose_data, list):
233
      raise http.HTTPInternalError(message="Can't get OS list")
233
      raise http.HttpInternalError(message="Can't get OS list")
234 234

  
235 235
    return [row[0] for row in diagnose_data if row[1]]
b/lib/rapi/rlib2.py
370 370
    """
371 371
    if 'tag' not in self.queryargs:
372 372
      # no we not gonna delete all tags from an instance
373
      raise http.HTTPNotImplemented()
373
      raise http.HttpNotImplemented()
374 374
    return baserlib._Tags_DELETE(constants.TAG_INSTANCE,
375 375
                                 self.queryargs['tag'],
376 376
                                 name=self.items[0])
b/test/ganeti.rapi.resources_unittest.py
43 43
    self.assertEquals(self.map.getController(uri), result)
44 44

  
45 45
  def _TestFailingUri(self, uri):
46
    self.failUnlessRaises(http.HTTPNotFound, self.map.getController, uri)
46
    self.failUnlessRaises(http.HttpNotFound, self.map.getController, uri)
47 47

  
48 48
  def testMapper(self):
49 49
    """Testing Mapper"""

Also available in: Unified diff