Supabase. Client. Storage. Hostname
(supabase_potion v1.0.0)
Copy Markdown
Handles hostname transformation for storage subdomain routing.
This module transforms official Supabase domain URLs to use the storage-specific subdomain, which is optimized for large file uploads (>50GB) and provides better streaming performance.
Transformation Rules
- Official Supabase domains (
.supabase.co,.supabase.in,.supabase.red) are transformed to use thestorage.supabase.*subdomain - URLs already containing
storage.supabase.are left unchanged - Custom domains (non-Supabase) are left untouched
- Localhost and IP addresses are left unchanged
Examples
iex> Supabase.Client.Storage.Hostname.transform_storage_url("https://abc123.supabase.co/storage/v1")
"https://abc123.storage.supabase.co/storage/v1"
iex> Supabase.Client.Storage.Hostname.transform_storage_url("https://abc123.supabase.in/storage/v1")
"https://abc123.storage.supabase.in/storage/v1"
iex> Supabase.Client.Storage.Hostname.transform_storage_url("https://abc123.storage.supabase.co/storage/v1")
"https://abc123.storage.supabase.co/storage/v1"
iex> Supabase.Client.Storage.Hostname.transform_storage_url("https://custom-domain.com/storage/v1")
"https://custom-domain.com/storage/v1"
iex> Supabase.Client.Storage.Hostname.transform_storage_url("http://localhost:54321/storage/v1")
"http://localhost:54321/storage/v1"
Summary
Functions
Transforms a storage URL to use the storage subdomain if applicable.
Functions
Transforms a storage URL to use the storage subdomain if applicable.
This function only transforms official Supabase domains that don't already have the storage subdomain. Custom domains and non-Supabase URLs are returned unchanged.
Parameters
storage_url- The storage URL to transform (string)
Returns
The transformed URL as a string. If transformation is not applicable, returns the original URL unchanged.
Examples
iex> Supabase.Client.Storage.Hostname.transform_storage_url("https://project.supabase.co/storage/v1")
"https://project.storage.supabase.co/storage/v1"
iex> Supabase.Client.Storage.Hostname.transform_storage_url("https://project.storage.supabase.co/storage/v1")
"https://project.storage.supabase.co/storage/v1"
iex> Supabase.Client.Storage.Hostname.transform_storage_url("https://custom.example.com/storage/v1")
"https://custom.example.com/storage/v1"
iex> Supabase.Client.Storage.Hostname.transform_storage_url(nil)
nil