feat: updated presigned url response to include the file size so client can decide if it can be displayed or not

This commit is contained in:
Andrey Melnikov
2021-07-30 14:01:38 -07:00
parent d226028b33
commit 8e6ef8d3eb
13 changed files with 463 additions and 815 deletions

View File

@@ -1675,66 +1675,6 @@ func (c *Client) TerminateWorkflowExecution(namespace, uid string) (err error) {
return
}
func (c *Client) GetArtifact(namespace, uid, key string) (data []byte, err error) {
config, err := c.GetNamespaceConfig(namespace)
if err != nil {
return
}
var (
stream io.ReadCloser
)
switch {
case config.ArtifactRepository.S3 != nil:
{
s3Client, err := c.GetS3Client(namespace, config.ArtifactRepository.S3)
if err != nil {
return nil, err
}
opts := s3.GetObjectOptions{}
stream, err = s3Client.GetObject(config.ArtifactRepository.S3.Bucket, key, opts)
if err != nil {
log.WithFields(log.Fields{
"Namespace": namespace,
"UID": uid,
"Key": key,
"Error": err.Error(),
}).Error("Artifact does not exist.")
return nil, err
}
}
case config.ArtifactRepository.GCS != nil:
{
gcsClient, err := c.GetGCSClient(namespace, config.ArtifactRepository.GCS)
if err != nil {
log.WithFields(log.Fields{
"Namespace": namespace,
"UID": uid,
"Error": err.Error(),
}).Error("Artifact does not exist.")
return nil, util.NewUserError(codes.NotFound, "Artifact does not exist.")
}
stream, err = gcsClient.GetObject(config.ArtifactRepository.GCS.Bucket, key)
if err != nil {
log.WithFields(log.Fields{
"Namespace": namespace,
"UID": uid,
"Error": err.Error(),
}).Error("Artifact does not exist.")
return nil, util.NewUserError(codes.NotFound, "Artifact does not exist.")
}
}
}
data, err = ioutil.ReadAll(stream)
if err != nil {
return
}
return
}
func filterOutCustomTypesFromManifest(manifest []byte) (result []byte, err error) {
data := make(map[string]interface{})
err = yaml.Unmarshal(manifest, &data)