def test_put(self): # PUT something for the first time response = HTTPCaller()(r"""PUT /testfile.txt HTTP/1.1 Authorization: Basic bWdyOm1ncnB3 Content-Length: 20 Content-Type: text/plain This is just a test.""") self.assertEquals(response._response.getStatus(), 201) self.assertEquals(response._response.getHeader("Location"), "http://localhost/testfile.txt") response = HTTPCaller()(r"""GET /testfile.txt HTTP/1.1 Authorization: Basic bWdyOm1ncnB3""") self.assertEquals(response.getBody(), "This is just a test.") # now modify it response = HTTPCaller()(r"""PUT /testfile.txt HTTP/1.1 Authorization: Basic bWdyOm1ncnB3 Content-Length: 22 Content-Type: text/plain And now it is modified.""") self.assertEquals(response._response.getStatus(), 200) self.assertEquals(response.getBody(), "") response = HTTPCaller()(r"""GET /testfile.txt HTTP/1.1 Authorization: Basic bWdyOm1ncnB3""") self.assertEquals(response.getBody(), "And now it is modified.")
def test_put(self): # PUT something for the first time response = HTTPCaller()(r"""PUT /testfile.txt HTTP/1.1 Authorization: Basic bWdyOm1ncnB3 Content-Length: 20 Content-Type: text/plain This is just a test.""") self.assertEquals(response._response.getStatus(), 201) self.assertEquals(response._response.getHeader("Location"), "http://localhost/testfile.txt") response = HTTPCaller()(r"""GET /testfile.txt HTTP/1.1 Authorization: Basic bWdyOm1ncnB3""") self.assertEquals(response.getBody(), "This is just a test.") # now modify it response = HTTPCaller()(r"""PUT /testfile.txt HTTP/1.1 Authorization: Basic bWdyOm1ncnB3 Content-Length: 23 Content-Type: text/plain And now it is modified.""") self.assertEquals(response._response.getStatus(), 200) self.assertEquals(response.getBody(), "") response = HTTPCaller()(r"""GET /testfile.txt HTTP/1.1 Authorization: Basic bWdyOm1ncnB3""") self.assertEquals(response.getBody(), "And now it is modified.")
def request(self, host, handler, request_body, verbose=0): request = "POST %s HTTP/1.0\n" % (handler, ) request += "Content-Length: %i\n" % len(request_body) request += "Content-Type: text/xml\n" host, extra_headers, x509 = self.get_host_info(host) if extra_headers: request += "Authorization: %s\n" \ % (dict(extra_headers)["Authorization"],) request += "\n" + request_body response = HTTPCaller()(request, handle_errors=self.handleErrors) errcode = response.getStatus() errmsg = response.getStatusString() # This is not the same way that the normal transport deals # with the headers. headers = response.getHeaders() if errcode != 200: raise xmlrpclib.ProtocolError(host + handler, errcode, errmsg, headers) return self._parse_response(StringIO.StringIO(response.getBody()), sock=None)
def request(self, host, handler, request_body, verbose=0): request = "POST %s HTTP/1.0\n" % (handler,) request += "Content-Length: %i\n" % len(request_body) request += "Content-Type: text/xml\n" host, extra_headers, x509 = self.get_host_info(host) if extra_headers: request += "Authorization: %s\n" \ % (dict(extra_headers)["Authorization"],) request += "\n" + request_body response = HTTPCaller()(request, handle_errors=self.handleErrors) errcode = response.getStatus() errmsg = response.getStatusString() # This is not the same way that the normal transport deals # with the headers. headers = response.getHeaders() if errcode != 200: raise xmlrpclib.ProtocolError( host + handler, errcode, errmsg, headers ) return self._parse_response( StringIO.StringIO(response.getBody()), sock=None)
def request(self, host, handler, request_body, verbose=0): request = "POST %s HTTP/1.0\n" % (handler,) request += "Content-Length: %i\n" % len(request_body) request += "Content-Type: text/xml\n" host, extra_headers, _x509 = self.get_host_info(host) if extra_headers: request += "Authorization: %s\n" % ( dict(extra_headers)["Authorization"],) request += "\n" if isinstance(request_body, bytes) and str is not bytes: # Python 3 request = request.encode("ascii") request += request_body if not isinstance(request, str) and str is not bytes: request = request.decode("utf-8") response = HTTPCaller()(request, handle_errors=self.handleErrors) errcode = response.getStatus() errmsg = response.getStatusString() # This is not the same way that the normal transport deals with the # headers. headers = response.getHeaders() if errcode != 200: # pragma: no cover raise xmlrpclib.ProtocolError( host + handler, errcode, errmsg, headers ) content = 'HTTP/1.0 ' + errmsg + '\n\n' + response.getBody() res = HTTPResponse(FakeSocket(content)) res.begin() return self.parse_response(res)