Skip to content

batches: Remote Mount #3 - HTTP API

Administrator requested to merge rc/remote-mount-httpapi into rc/remote-mount-graphql

Created by: Piszmog

Part of #31792.

Previous part: #40809

Add HTTP API endpoint to upload, retrieve, and check if files exist. Endpoints are included as part of the external services and the executor services.

Overview

The FileHandler has a single ServerHTTP function that handles GET (retrieval), HEAD (existence check), and POST (upload). The GET and HEAD are nothing unique. POST on the other hand receives a multipart/form-data as the request. POST also has a security check to ensure either a site admin or the creator of the batch spec is uploading the file (not sure if this should apply to all the methods 🤔 ).

POST limits the max size of the request to 10MB (I made this number up). In the future when not using Postgres to store the file content, this can be updated to stream the chunks (there is a comment with a link to an example repo).

Follow up

  • Will request a security review after team approval

Test plan

Add Go Unit Tests

Merge request reports

Loading