def test_OneHeader(self): server = Session("www.example.com") request = Options(server, "/") request.getResponseHeaders().update({ "allow": ("GET, PUT, OPTIONS, HEAD", ), }) self.assertEqual(set(request.getAllowed()), set(("GET", "PUT", "OPTIONS", "HEAD"))) self.assertTrue(request.isAllowed("GET")) self.assertTrue(request.isAllowed("PUT")) self.assertTrue(request.isAllowed("OPTIONS")) self.assertTrue(request.isAllowed("HEAD"))
def test_MultipleHeader(self): server = Session("www.example.com") request = Options(server, "/") request.getResponseHeaders().update({ "allow": ("GET, PUT", "OPTIONS, HEAD",), }) self.assertEqual(set(request.getAllowed()), set(("GET", "PUT", "OPTIONS", "HEAD"))) self.assertTrue(request.isAllowed("GET")) self.assertTrue(request.isAllowed("PUT")) self.assertTrue(request.isAllowed("OPTIONS")) self.assertTrue(request.isAllowed("HEAD"))
def writeData(self, rurl, data, contentType, etag=None, method="PUT"): assert (isinstance(rurl, URL)) # Create WebDAV PUT if method == "PUT": request = Put(self, rurl.relativeURL()) elif method == "POST": request = Post(self, rurl.relativeURL()) elif method == "OPTIONS": request = Options(self, rurl.relativeURL()) dout = ResponseDataString() if data is not None: din = RequestDataString(data, contentType) if method == "PUT": request.setData(din, dout, etag=etag) elif method == "POST": request.setData(din, dout) else: request.setData(None, dout) # Process it self.runSession(request) # Check response status if request.getStatusCode() not in ( statuscodes.OK, statuscodes.Created, statuscodes.NoContent, ): self.handleHTTPError(request) # Return data as a string return dout.getData()
def test_Method(self): server = Session("www.example.com") request = Options(server, "/") self.assertEqual(request.getMethod(), "OPTIONS")
for header, value in hdrs.iteritems(): connect.putheader(header, value) connect.endheaders() # Do request body stream = request.getRequestDataStream() if stream: stream.start() more = True while more: data, more = stream.read() if data: connect.send(data) stream.stop() # Get response response = connect.getresponse() # Get response headers request.setResponseStatus(response.version, response.status, response.reason) request.setResponseHeaders(response.getheaders()) # Get response body if __name__ == '__main__': session = Session("www.mulberrymail.com") request = Options(session, "/") run(session, request)