Signed-off-by: Jess Frazelle <github@jessfraz.com>
This commit is contained in:
Jess Frazelle
2023-09-29 16:05:40 -07:00
parent 31cd9e532d
commit 12c164620b
268 changed files with 22464 additions and 18287 deletions

View File

@ -1 +1 @@
""" Contains methods for accessing the executor API paths: Endpoints that allow for code execution or creation of code execution environments. """ # noqa: E501
""" Contains methods for accessing the executor API paths: Endpoints that allow for code execution or creation of code execution environments. """ # noqa: E501

View File

@ -8,10 +8,14 @@ from ...models.error import Error
def _get_kwargs(
*,
client: Client,
) -> Dict[str, Any]:
url = "{}/ws/executor/term".format(client.base_url) # noqa: E501
url = "{}/ws/executor/term".format(client.base_url) # noqa: E501
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -21,42 +25,45 @@ def _get_kwargs(
"headers": headers,
"cookies": cookies,
"timeout": client.get_timeout(),
}
def sync(
*,
client: Client,
) -> ClientConnection:
"""Attach to a docker container to create an interactive terminal.""" # noqa: E501
kwargs = _get_kwargs(
client=client,
)
with ws_connect(
kwargs["url"].replace("https://", "wss://"),
additional_headers=kwargs["headers"],
) as websocket:
return websocket # type: ignore
with ws_connect(kwargs["url"].replace("https://", "wss://"), additional_headers=kwargs["headers"]) as websocket:
return websocket # type: ignore
# Return an error if we got here.
return Error(message="An error occurred while connecting to the websocket.")
async def asyncio(
*,
client: Client,
) -> WebSocketClientProtocol:
"""Attach to a docker container to create an interactive terminal.""" # noqa: E501
kwargs = _get_kwargs(
client=client,
)
async with ws_connect_async(
kwargs["url"].replace("https://", "wss://"), extra_headers=kwargs["headers"]
) as websocket:
async with ws_connect_async(kwargs["url"].replace("https://", "wss://"), extra_headers=kwargs["headers"]) as websocket:
return websocket
# Return an error if we got here.

View File

@ -10,22 +10,44 @@ from ...types import Response
def _get_kwargs(
lang: CodeLanguage,
body: bytes,
*,
client: Client,
output: Optional[str] = None,
) -> Dict[str, Any]:
url = "{}/file/execute/{lang}".format(
client.base_url,
lang=lang,
) # noqa: E501
url = "{}/file/execute/{lang}".format(client.base_url, lang=lang,) # noqa: E501
if output is not None:
if "?" in url:
url = url + "&output=" + str(output)
else:
url = url + "?output=" + str(output)
headers: Dict[str, Any] = client.get_headers()
cookies: Dict[str, Any] = client.get_cookies()
@ -39,22 +61,23 @@ def _get_kwargs(
}
def _parse_response(*, response: httpx.Response) -> Optional[Union[CodeOutput, Error]]:
if response.status_code == 200:
response_200 = CodeOutput.from_dict(response.json())
return response_200
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
return response_4XX
if response.status_code == 500:
response_5XX = Error.from_dict(response.json())
return response_5XX
return Error.from_dict(response.json())
def _parse_response(*, response: httpx.Response) -> Optional[Union[CodeOutput, Error]] :
if response.status_code == 200:
response_200 = CodeOutput.from_dict(response.json())
return response_200
if response.status_code == 400:
response_4XX = Error.from_dict(response.json())
return response_4XX
if response.status_code == 500:
response_5XX = Error.from_dict(response.json())
return response_5XX
return Error.from_dict(response.json())
def _build_response(
*, response: httpx.Response
) -> Response[Optional[Union[CodeOutput, Error]]]:
) -> Response[Optional[Union[CodeOutput, Error]]]:
return Response(
status_code=response.status_code,
content=response.content,
@ -64,16 +87,37 @@ def _build_response(
def sync_detailed(
lang: CodeLanguage,
body: bytes,
*,
client: Client,
output: Optional[str] = None,
) -> Response[Optional[Union[CodeOutput, Error]]]:
) -> Response[Optional[Union[CodeOutput, Error]]]:
kwargs = _get_kwargs(
lang=lang,
output=output,
body=body,
client=client,
)
@ -86,31 +130,75 @@ def sync_detailed(
def sync(
lang: CodeLanguage,
body: bytes,
*,
client: Client,
output: Optional[str] = None,
) -> Optional[Union[CodeOutput, Error]]:
) -> Optional[Union[CodeOutput, Error]] :
return sync_detailed(
lang=lang,
output=output,
body=body,
client=client,
).parsed
async def asyncio_detailed(
lang: CodeLanguage,
body: bytes,
*,
client: Client,
output: Optional[str] = None,
) -> Response[Optional[Union[CodeOutput, Error]]]:
) -> Response[Optional[Union[CodeOutput, Error]]]:
kwargs = _get_kwargs(
lang=lang,
output=output,
body=body,
client=client,
)
@ -121,17 +209,40 @@ async def asyncio_detailed(
async def asyncio(
lang: CodeLanguage,
body: bytes,
*,
client: Client,
output: Optional[str] = None,
) -> Optional[Union[CodeOutput, Error]]:
) -> Optional[Union[CodeOutput, Error]] :
return (
await asyncio_detailed(
lang=lang,
output=output,
body=body,
client=client,
)
).parsed