diff --git a/pulpcore/content/handler.py b/pulpcore/content/handler.py index 61a700108c..e04f9656cb 100644 --- a/pulpcore/content/handler.py +++ b/pulpcore/content/handler.py @@ -837,6 +837,12 @@ async def _serve_content_artifact(self, content_artifact, headers, request): parameters["content_type"] = headers.get("Content-Type") url = URL(artifact_file.storage.url(artifact_name, parameters=parameters), encoded=True) raise HTTPFound(url) + elif settings.DEFAULT_FILE_STORAGE == "storages.backends.gcloud.GoogleCloudStorage": + parameters = {"response_disposition": content_disposition} + if headers.get("Content-Type"): + parameters["content_type"] = headers.get("Content-Type") + url = URL(artifact_file.storage.url(artifact_name, parameters=parameters), encoded=True) + raise HTTPFound(url) else: raise NotImplementedError() diff --git a/setup.py b/setup.py index b5c8ff14e0..80ea704b12 100644 --- a/setup.py +++ b/setup.py @@ -22,6 +22,7 @@ extras_require={ "sftp": ["django-storages[sftp]"], "s3": ["django-storages[boto3]"], + "google": ["django-storages[google]>1.13.1"], "azure": ["django-storages[azure]>=1.12.2"], "prometheus": ["django-prometheus"], },