async def get_package(self, req: Request) -> Response: package_uri = http_uri_components_to_uri( protocol=req.match_info["protocol"], package_name=req.match_info["package_name"]) if not package_exists(package_uri): return Response(text=f"Package {package_uri} does not exist", status=aiohttp.web.HTTPNotFound.status_code) return Response()
def test_uri_to_http_and_back(): assert uri_to_http_components("gcs://hello.zip") == ("gcs", "hello.zip") assert uri_to_http_components("gcs://hello.whl") == ("gcs", "hello.whl") with pytest.raises(ValueError, match="'blah' is not a valid Protocol"): uri_to_http_components("blah://halb.zip") with pytest.raises(ValueError, match="does not end in .zip or .whl"): assert uri_to_http_components("gcs://hello.not_zip") with pytest.raises(ValueError, match="does not end in .zip or .whl"): assert uri_to_http_components("gcs://hello") assert http_uri_components_to_uri("gcs", "hello.zip") == "gcs://hello.zip" assert http_uri_components_to_uri("blah", "halb.zip") == "blah://halb.zip" assert http_uri_components_to_uri("blah", "halb.whl") == "blah://halb.whl" for original_uri in ["gcs://hello.zip", "gcs://fasdf.whl"]: new_uri = http_uri_components_to_uri( *uri_to_http_components(original_uri)) assert new_uri == original_uri
async def upload_package(self, req: Request): package_uri = http_uri_components_to_uri( protocol=req.match_info["protocol"], package_name=req.match_info["package_name"]) logger.info(f"Uploading package {package_uri} to the GCS.") try: upload_package_to_gcs(package_uri, await req.read()) except Exception: return Response( text=traceback.format_exc(), status=aiohttp.web.HTTPInternalServerError.status_code) return Response(status=aiohttp.web.HTTPOk.status_code)
async def get_package(self, req: Request) -> Response: package_uri = http_uri_components_to_uri( protocol=req.match_info["protocol"], package_name=req.match_info["package_name"], ) logger.debug(f"Adding temporary reference to package {package_uri}.") try: pin_runtime_env_uri(package_uri) except Exception: return Response( text=traceback.format_exc(), status=aiohttp.web.HTTPInternalServerError.status_code, ) if not package_exists(package_uri): return Response( text=f"Package {package_uri} does not exist", status=aiohttp.web.HTTPNotFound.status_code, ) return Response()