@@ -164,7 +164,7 @@ func (g *GCPStorage) create(ctx context.Context, req *bindings.InvokeRequest) (*
164164 var err error
165165 metadata , err := g .metadata .mergeWithRequestMetadata (req )
166166 if err != nil {
167- return nil , fmt .Errorf ("gcp bucket binding error. error merge metadata : %w" , err )
167+ return nil , fmt .Errorf ("gcp bucket binding error while merging metadata : %w" , err )
168168 }
169169
170170 var name string
@@ -186,14 +186,23 @@ func (g *GCPStorage) create(ctx context.Context, req *bindings.InvokeRequest) (*
186186 }
187187
188188 h := g .client .Bucket (g .metadata .Bucket ).Object (name ).NewWriter (ctx )
189- defer h .Close ()
189+ // Cannot do ` defer h.Close()` as Close() will flush the bytes and need to have error handling.
190190 if _ , err = io .Copy (h , r ); err != nil {
191- return nil , fmt .Errorf ("gcp bucket binding error. Uploading: %w" , err )
191+ cerr := h .Close ()
192+ if cerr != nil {
193+ return nil , fmt .Errorf ("gcp bucket binding error while uploading and closing: %w" , err )
194+ }
195+ return nil , fmt .Errorf ("gcp bucket binding error while uploading: %w" , err )
196+ }
197+
198+ err = h .Close ()
199+ if err != nil {
200+ return nil , fmt .Errorf ("gcp bucket binding error while flushing: %w" , err )
192201 }
193202
194203 objectURL , err := url .Parse (fmt .Sprintf (objectURLBase , g .metadata .Bucket , name ))
195204 if err != nil {
196- return nil , fmt .Errorf ("gcp bucket binding error. error building url response: %w" , err )
205+ return nil , fmt .Errorf ("gcp bucket binding error while building url response: %w" , err )
197206 }
198207
199208 resp := createResponse {
@@ -202,7 +211,7 @@ func (g *GCPStorage) create(ctx context.Context, req *bindings.InvokeRequest) (*
202211
203212 b , err := json .Marshal (resp )
204213 if err != nil {
205- return nil , fmt .Errorf ("gcp binding error. error marshalling create response: %w" , err )
214+ return nil , fmt .Errorf ("gcp bucket binding error while marshalling the create response: %w" , err )
206215 }
207216
208217 return & bindings.InvokeResponse {
@@ -213,7 +222,7 @@ func (g *GCPStorage) create(ctx context.Context, req *bindings.InvokeRequest) (*
213222func (g * GCPStorage ) get (ctx context.Context , req * bindings.InvokeRequest ) (* bindings.InvokeResponse , error ) {
214223 metadata , err := g .metadata .mergeWithRequestMetadata (req )
215224 if err != nil {
216- return nil , fmt .Errorf ("gcp binding error. error merge metadata : %w" , err )
225+ return nil , fmt .Errorf ("gcp binding error while merging metadata : %w" , err )
217226 }
218227
219228 var key string
@@ -231,13 +240,13 @@ func (g *GCPStorage) get(ctx context.Context, req *bindings.InvokeRequest) (*bin
231240 return nil , errors .New ("object not found" )
232241 }
233242
234- return nil , fmt .Errorf ("gcp bucketgcp bucket binding error: error downloading bucket object: %w" , err )
243+ return nil , fmt .Errorf ("gcp bucketgcp bucket binding error while downloading object: %w" , err )
235244 }
236245 defer rc .Close ()
237246
238247 data , err := io .ReadAll (rc )
239248 if err != nil {
240- return nil , fmt .Errorf ("gcp bucketgcp bucket binding error: io.ReadAll : %v" , err )
249+ return nil , fmt .Errorf ("gcp bucketgcp bucket binding error while reading : %v" , err )
241250 }
242251
243252 if metadata .EncodeBase64 {
@@ -299,7 +308,7 @@ func (g *GCPStorage) list(ctx context.Context, req *bindings.InvokeRequest) (*bi
299308
300309 jsonResponse , err := json .Marshal (result )
301310 if err != nil {
302- return nil , fmt .Errorf ("gcp bucketgcp bucket binding error. list operation. cannot marshal blobs to json: %w" , err )
311+ return nil , fmt .Errorf ("gcp bucketgcp bucket binding error while listing: cannot marshal blobs to json: %w" , err )
303312 }
304313
305314 return & bindings.InvokeResponse {
@@ -348,7 +357,7 @@ func (g *GCPStorage) GetComponentMetadata() (metadataInfo metadata.MetadataMap)
348357func (g * GCPStorage ) sign (ctx context.Context , req * bindings.InvokeRequest ) (* bindings.InvokeResponse , error ) {
349358 metadata , err := g .metadata .mergeWithRequestMetadata (req )
350359 if err != nil {
351- return nil , fmt .Errorf ("gcp binding error. error merge metadata : %w" , err )
360+ return nil , fmt .Errorf ("gcp binding error while merging metadata : %w" , err )
352361 }
353362
354363 var key string
@@ -371,7 +380,7 @@ func (g *GCPStorage) sign(ctx context.Context, req *bindings.InvokeRequest) (*bi
371380 SignURL : signURL ,
372381 })
373382 if err != nil {
374- return nil , fmt .Errorf ("gcp bucket binding error: error marshalling sign response: %w" , err )
383+ return nil , fmt .Errorf ("gcp bucket binding error while marshalling sign response: %w" , err )
375384 }
376385 return & bindings.InvokeResponse {
377386 Data : jsonResponse ,
@@ -381,7 +390,7 @@ func (g *GCPStorage) sign(ctx context.Context, req *bindings.InvokeRequest) (*bi
381390func (g * GCPStorage ) signObject (bucket , object , ttl string ) (string , error ) {
382391 d , err := time .ParseDuration (ttl )
383392 if err != nil {
384- return "" , fmt .Errorf ("gcp bucket binding error: error parsing signTTL: %w" , err )
393+ return "" , fmt .Errorf ("gcp bucket binding error while parsing signTTL: %w" , err )
385394 }
386395 opts := & storage.SignedURLOptions {
387396 Scheme : storage .SigningSchemeV4 ,
0 commit comments