mirror of
https://github.com/sablierapp/sablier.git
synced 2025-12-21 13:23:03 +01:00
1.7 KiB
1.7 KiB
Strategies
Dynamic Strategy
The Dynamic Strategy displays a waiting page while your session starts.
?> This strategy is ideal for users accessing a frontend directly, as they'll see a loading page while their services start.
@startuml
User -> Proxy: Website Request
Proxy -> Sablier: Reverse Proxy Plugin Request Session Status
Sablier -> Provider: Request Instance Status
Sablier <-- Provider: Response Instance Status
Proxy <-- Sablier: Returns the X-Sablier-Status Header
alt `X-Sablier-Status` value is `not-ready`
User <-- Proxy: Serve the waiting page
loop until `X-Sablier-Status` value is `ready`
User -> Proxy: Self-Reload Waiting Page
Proxy -> Sablier: Reverse Proxy Plugin Request Session Status
Sablier -> Provider: Request Instance Status
Sablier <-- Provider: Response Instance Status
Proxy <-- Sablier: Returns the waiting page
User <-- Proxy: Serve the waiting page
end
end
User <-- Proxy: Content
@enduml
Blocking Strategy
The Blocking Strategy holds the request until your session is ready.
?> This strategy is ideal for API communication, where clients expect to wait for a response.
@startuml
User -> Proxy: Website Request
Proxy -> Sablier: Reverse Proxy Plugin Request Session Status
Sablier -> Provider: Request Instance Status
alt `Instance` status is `not-ready`
Proxy -> Sablier: Reverse Proxy Plugin Request Session Status
Sablier -> Provider: Request Instance Status
Sablier <-- Provider: Response Instance Status
Proxy <-- Sablier: Returns the waiting page
end
Sablier <-- Provider: Response Instance Status
Proxy <-- Sablier: Response
User <-- Proxy: Content
@enduml
