Skip to content

Instantly share code, notes, and snippets.

@edsu
Created April 10, 2023 19:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save edsu/a486a30d5eb3b14deba0bf3ec8b7d22a to your computer and use it in GitHub Desktop.
Save edsu/a486a30d5eb3b14deba0bf3ec8b7d22a to your computer and use it in GitHub Desktop.
sequenceDiagram
Note over Client: User clicks Download and the button text changes to "initiating download"
Client->>Server: POST  /object/sg052hd9120 
Server-->>Client: HTTP 201 Location: /jobs/12345
Note over Client: Client begins polling to see if ZIP is ready
Client->>Server: GET /jobs/12345
Server-->>Client: HTTP 200 { status: queued }
Client->>Server: GET /jobs/12345
Server-->>Client: HTTP 200 { status: running }
Client->>Server: GET /jobs/12345
Note over Server: Server notifies client that the ZIP is ready!
Server-->>Client: HTTP 200 { status: done, url: /download/12345.zip }
Note over Client: Download button text is changed back to "download" and the client initiates download
Client->>Server: GET /download/12345.zip
Server-->>Client: HTTP 200 Content-Type: application/zip
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment