MCPcopy Create free account
hub / github.com/AdRoll/baker / openS3File

Method openS3File

input/inpututils/s3.go:80–100  ·  view source on GitHub ↗
(fn string)

Source from the content-addressed store, hash-verified

78}
79
80func (s *S3Input) openS3File(fn string) (io.ReadCloser, int64, time.Time, *url.URL, error) {
81 _, s3Bucket, s3Key, err := s.choosePathComponents(fn)
82 if err != nil {
83 return nil, 0, time.Time{}, nil, err
84 }
85
86 resp, err := s.svc.GetObject(&s3.GetObjectInput{
87 Bucket: aws.String(s3Bucket),
88 Key: aws.String(s3Key),
89 })
90 if err != nil {
91 return nil, 0, time.Time{}, nil, err
92 }
93
94 urlObject, err := url.Parse(fn)
95 if err != nil {
96 return nil, 0, time.Time{}, nil, err
97 }
98
99 return resp.Body, *resp.ContentLength, *resp.LastModified, urlObject, nil
100}
101
102func (s *S3Input) sizeS3File(fn string) (int64, error) {
103 _, s3Bucket, s3Key, err := s.choosePathComponents(fn)

Callers

nothing calls this directly

Calls 4

choosePathComponentsMethod · 0.95
GetObjectMethod · 0.80
ParseMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected