Skip to content

Commit

Permalink
feat(core): add skeleton http browser
Browse files Browse the repository at this point in the history
get and post intrim functions

!26 #58
  • Loading branch information
jon-nfc committed Jun 13, 2024
1 parent d4c07d0 commit 8b47d95
Show file tree
Hide file tree
Showing 2 changed files with 100 additions and 0 deletions.
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,14 @@

![Gitlab Code Coverage](https://img.shields.io/gitlab/pipeline-coverage/nofusscomputing%2Fprojects%2Fdjango_template?branch=master&style=plastic&logo=gitlab&label=Test%20Coverage)


artifacts


dont work to file
https://gitlab.com/nofusscomputing/projects/django_template/-/jobs/artifacts/master/browse/artifacts/coverage/index.html?job=Unit

works to dir
https://gitlab.com/nofusscomputing/projects/django_template/-/jobs/artifacts/master/browse/artifacts/coverage/?job=Unit


89 changes: 89 additions & 0 deletions app/core/http/browser.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
import requests



class Browser:

response: requests.Response = None

@property
def status() -> int:
""" HTTP Status Code
Returns:
int: Return the HTTP status code from the last request
"""
return self.response.status_code


def get(
self,
url: str,
headers: dict = {},
ssl_verify: bool = True
) -> requests.Response:
""" Perform a HTTP/GET request
Args:
url (str): URL to fetch.
headers (dict, optional): Request Headers. Defaults to {}.
ssl_verify (bool, optional): Verify the SSL Certificate. Defaults to True.
Returns:
requests.Response: The requests response object
"""


headers.update({
"Accept": "application/json",
"Authorization": "Bearer xx" # AWX auth
})

response = requests.get(
headers = headers,
timeout = 3,
url = url,
verify = ssl_verify,
)

if response.status_code == 200:

self.response = response

return self.response


def post(
self,
url: str,
headers: dict = {},
data: dict = None,
ssl_verify: bool = True
) -> requests.Response:
""" Perform an HTTP/POST request
Args:
url (str): _description_
headers (dict, optional): Request Headers. Defaults to {}.
data (dict, optional): _description_. Defaults to None.
ssl_verify (bool, optional): Verify the SSL Certificate. Defaults to True.
Returns:
requests.Response: _description_
"""

response = request.post(
headers={
"Content-Type": "application/json"
},
timeout = 3,
url = url,
data = data,
verify = ssl_verify,
)

if response.status_code == 200:

self.response = response

return self.response

0 comments on commit 8b47d95

Please sign in to comment.