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"))
示例#3
0
    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")
    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)