(ctx context.Context, req types.BatchRequest, pointer types.Pointer, download, upload bool, err *types.ObjectError)
| 252 | } |
| 253 | |
| 254 | func (c *GitHTTPComponent) buildObjectResponse(ctx context.Context, req types.BatchRequest, pointer types.Pointer, download, upload bool, err *types.ObjectError) *types.ObjectResponse { |
| 255 | rep := &types.ObjectResponse{Pointer: pointer} |
| 256 | if err != nil { |
| 257 | rep.Error = err |
| 258 | } else { |
| 259 | rep.Actions = make(map[string]*types.Link) |
| 260 | |
| 261 | header := make(map[string]string) |
| 262 | |
| 263 | if len(req.Authorization) > 0 { |
| 264 | header["Authorization"] = req.Authorization |
| 265 | } |
| 266 | |
| 267 | if download { |
| 268 | var link *types.Link |
| 269 | reqParams := make(url.Values) |
| 270 | objectKey := path.Join("lfs", pointer.RelativePath()) |
| 271 | url, err := c.s3Client.PresignedGetObject(ctx, c.config.S3.Bucket, objectKey, ossFileExpireSeconds, reqParams) |
| 272 | if url != nil && err == nil { |
| 273 | delete(header, "Authorization") |
| 274 | link = &types.Link{Href: url.String(), Header: header} |
| 275 | } |
| 276 | if link == nil { |
| 277 | link = &types.Link{Href: c.buildDownloadLink(req, pointer), Header: header} |
| 278 | } |
| 279 | rep.Actions["download"] = link |
| 280 | } |
| 281 | if upload { |
| 282 | rep.Actions["upload"] = &types.Link{Href: c.buildUploadLink(req, pointer), Header: header} |
| 283 | |
| 284 | verifyHeader := make(map[string]string) |
| 285 | for key, value := range header { |
| 286 | verifyHeader[key] = value |
| 287 | } |
| 288 | |
| 289 | verifyHeader["Accept"] = types.LfsMediaType |
| 290 | |
| 291 | rep.Actions["verify"] = &types.Link{Href: c.buildVerifyLink(req), Header: verifyHeader} |
| 292 | } |
| 293 | } |
| 294 | return rep |
| 295 | } |
| 296 | |
| 297 | func (c *GitHTTPComponent) LfsUpload(ctx context.Context, body io.ReadCloser, req types.UploadRequest) error { |
| 298 | var exists bool |
no test coverage detected