예제 #1
0
    def testParsingRequests(self):

        r = "\r\n".join((
            "POST / HTTP/1.1",
            "Host: test.com",
            "Connection: close",
            "HeaDer: valUe",
            "Content-length: 1",
            "",
            "A"
        ))
        self.assertEqual(
            parseRequest(r),
            {
                "method": "POST",
                "path": "/",
                "version": "HTTP/1.1",
                "entity": "A",
                "headers": (
                    ("Host", "test.com"),
                    ("Connection", "close"),
                    ("HeaDer", "valUe"),
                    ("Content-length", "1"),
                )
            }
        )
예제 #2
0
파일: command.py 프로젝트: xmnr/atk
    def load(self, arguments):
        """
        Looks through the arguments to find directives specifying the message
        (ie, -M, --stdin, etc). If none are found, the defaultRequest/
        defaultResponse are used.
        """

        request = arguments.messageType == REQUEST
        type = "request" if request else "response"
        if arguments.message:
            if request: message = parseRequest(arguments.message)
            else: message = parseResponse(arguments.message)
        elif arguments.stdin:
            info(
                "Reading {} from stdin".format(type),
                arguments.verbose
            )
            if request: message = readRequest()
            else: message = self.readResponse()
        elif arguments.file:
            info(
                "Reading {} from {}".format(type, arguments.file),
                arguments.verbose
            )
            f = open(arguments.file, "r")
            if request: message = readRequest(f)
            else: message = self.readResponse(f)
        else:
            if request: message = self.defaultRequest
            else: message = self.defaultResponse

        return message
예제 #3
0
파일: __init__.py 프로젝트: xmnr/atk
def readRequest(file=stdin):
    """
    Reads an entire file & parses it as a request.
    """

    return parseRequest(file.read())