Skip to content

Implement Git LFS basic-multipart transfer support #31

Description

@shevron

Following the addition in Giftless (datopian/giftless#11), we should add support for the new transfer mode in ckan-client-js so that it is possible to efficiently upload very large files.

Acceptance

  • ckan-client-js can negotiate either a basic or multipart-basic transfer mode with a server that supports it
  • ckan-client-js can decide whether to prefer a basic or multipart-basic transfer based on file size or other configuration
  • ckan-client-js can successfully upload a large (>1gb) file to storage using mutlipart-basic

Technical Requirements

  • Refactor current LFS logic to a separate module, with a single class wrapping the transfer logic and also encapsulating batch API / transfer mode negotiation
  • Move basic transfer protocol implementation details into an adapter that can be replaced
  • Implement a new multipart-basic transfer adapter

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions