Course Asset

Serve an asset under /courses/<slug>/... from the GCS bucket.

Media (mp4/m4a/…) is 302-redirected straight to the public GCS URL rather than proxied. The old code buffered the whole object into memory and returned it as one Response(content=…); Cloud Run caps a non-chunked response at 32 MiB, so a chapter video larger than that (tomorrows-trades mka-3.mp4 was 36 MiB) came back as an empty HTTP 500 and the browser's <video> showed a black screen. A redirect sidesteps the proxy, the middleware, and the 32 MiB ceiling entirely, lets GCS serve range/seek natively at any size, and offloads media bandwidth off Cloud Run. Non-media assets (scenes.json, vtt, png — all tiny, same-origin so JS fetch() has no CORS issue) are still proxied through.

get/courses/{slug}/{asset}

Request

  • Base URL: https://owlgrouptrading.com (the document declares no server; this is the origin it was published from)
  • URL: https://owlgrouptrading.com/courses/{slug}/{asset}
  • Auth: none declared

Path parameters

slugstring required
assetstring required

Response

Successful Response

unknown required

Changes

No recorded changes to this operation across all 1 revision of this API.