Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

REST API spec #1

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

REST API spec #1

wants to merge 2 commits into from

Conversation

fcollonval
Copy link
Contributor

@fcollonval fcollonval commented Oct 10, 2023

This proposes a REST API to support drives directly in the backend; see friendly preview.


First version

It is identical to Jupyter Server contents API with the addition of a optional drive query argument.

The rational to use a query arg instead of making it part of the path parameter is to avoid trouble of splitting the drive and the path.

To support the copy between drives, the PUT request is extended to supported two types of body request: one with the file content and one with the source file path for copying it. For now the source is supposed to concatenate the drive (optional) and the path in a pattern: ((?P<drive>[^:]+):)?(?P<path>.+). To align with the introduction of the drive query argument, it may be better to use an object for source: {"path": string, "drive": string}.

Second version

Set the drive as URL path parameter {drive}/{path}


Remaining questions:

  • How to download a file? JupyterLab is currently downloading files from the files endpoint that does not support Drive
  • Should we support presigned URL for download and upload (ref: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html) - thanks to @trungleduc
    • For download this maybe the URL obtained when requesting a shareable link to the resource
    • For upload this maybe useful to add in a code snippet in a cell (? - although the link is temporary)

Switch to {drive} as path segment
@trungleduc trungleduc mentioned this pull request Dec 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant