Skip to main content

Parse the raw HTTP Request/ Response to the Object

Project description

TP-HTTP-Request-Response-Parser

Parse the raw HTTP Request/ Response to the Object

Installation

From PyPI:

pip install TP-HTTP-Request-Response-Parser

From Source:

git clone https://github.com/truocphan/TP-HTTP-Request-Response-Parser.git --branch <Branch/Tag>
cd TP-HTTP-Request-Response-Parser
python setup.py build
python setup.py install

Basic Usage

from TP_HTTP_Request_Response_Parser import *

# Parsing HTTP Request
rawRequest = """GET /v1/promo/extension HTTP/2
Host: d2y7f743exec8w.cloudfront.net
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.5845.97 Safari/537.36
Connection: close
Cache-Control: max-age=0

"""

# RequestParser = TP_HTTP_REQUEST_PARSER(open("request.txt", "rb").read().decode("utf-8"))
RequestParser = TP_HTTP_REQUEST_PARSER(rawRequest, ordered_dict=True)

print("- request_method: {}".format(RequestParser.request_method))
print("- request_path: {}".format(RequestParser.request_path))
print("- request_pathParams: {}".format(RequestParser.request_pathParams.dumps(indent=4)))
print("- request_queryParams: {}".format(RequestParser.request_queryParams.dumps(indent=4)))
print("- request_fragment: {}".format(RequestParser.request_fragment))
print("- request_httpVersion: {}".format(RequestParser.request_httpVersion))
print("- request_headers: {}".format(RequestParser.request_headers.dumps(indent=4)))
print("- request_body: {}".format(RequestParser.request_body.dumps(indent=4)))



# Parsing HTTP Response
rawResponse = """HTTP/2 200 OK
Content-Type: application/json; charset=utf-8
Server: nginx
Date: Mon, 21 Aug 2023 03:55:08 GMT
Etag: W/"846e0a9b390c273d2d7a6843085411d1"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 06024e22-f233-4517-b0f6-f444c8464e7b
Strict-Transport-Security: max-age=63072000; includeSubDomains
Strict-Transport-Security: max-age=63072000; preload
Vary: Accept-Encoding,Accept
X-Cache: Miss from cloudfront
Via: 1.1 19175f36fb9c16ba394561bae28598da.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: SGN50-P2
X-Amz-Cf-Id: eKssgTNGDCswPiQtSYFD1MRNBJCTHEbnQp4MQjtQx2B4eM7oqXYIHg==

{"ok":true,"promo":[]}"""

# ResponseParser = TP_HTTP_RESPONSE_PARSER(open("response.txt", "rb").read().decode("utf-8"))
ResponseParser = TP_HTTP_RESPONSE_PARSER(rawResponse, ordered_dict=True)

print("- response_httpVersion: {}".format(ResponseParser.response_httpVersion))
print("- response_statusCode: {}".format(ResponseParser.response_statusCode))
print("- response_statusText: {}".format(ResponseParser.response_statusText))
print("- response_headers: {}".format(ResponseParser.response_headers.dumps(indent=4)))
print("- response_body: {}".format(ResponseParser.response_body.dumps(indent=4)))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

TP-HTTP-Request-Response-Parser-2024.1.11.tar.gz (4.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file TP-HTTP-Request-Response-Parser-2024.1.11.tar.gz.

File metadata

File hashes

Hashes for TP-HTTP-Request-Response-Parser-2024.1.11.tar.gz
Algorithm Hash digest
SHA256 8a962ec8f7db2be28318358f549886eeca4d0aa4f090d5e37a6c3289c84a2982
MD5 2c40c47046737c915c0cd9a4bcc76f65
BLAKE2b-256 f00a7593920e783cbf2687f92ddb91562bfa838b832c0ff1306948e469a800e2

See more details on using hashes here.

File details

Details for the file TP_HTTP_Request_Response_Parser-2024.1.11-py3-none-any.whl.

File metadata

File hashes

Hashes for TP_HTTP_Request_Response_Parser-2024.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 9d40a7d6ad4aa6e977698ab322338d430f320f60ff82a3cb90dc53e56eaea53d
MD5 5a09a215777fe669886608cfe0200a7e
BLAKE2b-256 13d2798c6a01b58a1cfbd28921b23a7ededf0efc9963c9e72df41dcd5d2f3208

See more details on using hashes here.

File details

Details for the file TP_HTTP_Request_Response_Parser-2024.1.11-py2-none-any.whl.

File metadata

File hashes

Hashes for TP_HTTP_Request_Response_Parser-2024.1.11-py2-none-any.whl
Algorithm Hash digest
SHA256 7b6b29272b30145e125c5f31bcad616b6841e354b5db77e604537e701fad5df3
MD5 f1040f935546b0f8ce7eb883af9e05c9
BLAKE2b-256 43798d6261840d9cc7638196070e9ddc85f5a0f202be8b321183b23f60efa7d4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page