Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AppspaceRouter ¶
type AppspaceRouter struct {
Authenticator interface {
AppspaceUserProxyID(http.Handler) http.Handler
} `checkinject:"required"`
AppModel interface {
GetFromID(domain.AppID) (*domain.App, error)
GetVersion(domain.AppID, domain.Version) (*domain.AppVersion, error)
} `checkinject:"required"`
AppspaceModel interface {
GetFromDomain(string) (*domain.Appspace, error)
} `checkinject:"required"`
AppspaceStatus interface {
Ready(domain.AppspaceID) bool
} `checkinject:"required"`
DropserverRoutes interface {
Router() http.Handler
} `checkinject:"required"`
V0AppspaceRouter http.Handler `checkinject:"required"`
// contains filtered or unexported fields
}
AppspaceRouter handles routes for appspaces.
func (*AppspaceRouter) ServeHTTP ¶
func (a *AppspaceRouter) ServeHTTP(w http.ResponseWriter, r *http.Request)
func (*AppspaceRouter) SubscribeLiveCount ¶
func (a *AppspaceRouter) SubscribeLiveCount(appspaceID domain.AppspaceID, ch chan<- int) int
SubscribeLiveCount pushes the number of live requests for an appspace each time it changes It returns the current count
func (*AppspaceRouter) UnsubscribeLiveCount ¶
func (a *AppspaceRouter) UnsubscribeLiveCount(appspaceID domain.AppspaceID, ch chan<- int)
UnsubscribeLiveCount unsubscribes
type DropserverRoutes ¶
type DropserverRoutes struct {
V0DropServerRoutes interface {
// contains filtered or unexported methods
} `checkinject:"required"`
}
func (*DropserverRoutes) Router ¶
func (d *DropserverRoutes) Router() http.Handler
type V0 ¶
type V0 struct {
AppspaceUsersModelV0 interface {
Get(appspaceID domain.AppspaceID, proxyID domain.ProxyID) (domain.AppspaceUser, error)
} `checkinject:"required"`
SandboxProxy http.Handler `checkinject:"required"` // versioned?
V0TokenManager interface {
CheckToken(appspaceID domain.AppspaceID, token string) (domain.V0AppspaceLoginToken, bool)
} `checkinject:"required"`
V0AppRoutes interface {
Match(appID domain.AppID, version domain.Version, method string, reqPath string) (domain.V0AppRoute, error)
} `checkinject:"required"`
Authenticator interface {
// should have ProcessLoginToken instead. Also removes dep on Token Manager
// Exepct all this stuff is versioned.
SetForAppspace(http.ResponseWriter, domain.ProxyID, domain.AppspaceID, string) (string, error)
} `checkinject:"required"`
RouteHitEvents interface {
Send(*domain.AppspaceRouteHitEvent)
} `checkinject:"optional"`
Config *domain.RuntimeConfig `checkinject:"required"`
AppLocation2Path interface {
Files(string) string
} `checkinject:"required"`
AppspaceLocation2Path interface {
Files(string) string
Avatars(string) string
} `checkinject:"required"`
// contains filtered or unexported fields
}
V0 handles routes for appspaces.
type V0AppRoutes ¶
type V0AppRoutes struct {
AppModel interface {
GetVersion(appID domain.AppID, version domain.Version) (*domain.AppVersion, error)
} `checkinject:"required"`
AppFilesModel interface {
ReadRoutes(locationKey string) ([]byte, error)
} `checkinject:"required"`
Config *domain.RuntimeConfig `checkinject:"required"`
// contains filtered or unexported fields
}
func (*V0AppRoutes) Init ¶
func (r *V0AppRoutes) Init()
func (*V0AppRoutes) Match ¶
func (r *V0AppRoutes) Match(appID domain.AppID, version domain.Version, method string, reqPath string) (domain.V0AppRoute, error)
func (*V0AppRoutes) ValidateRoutes ¶
func (r *V0AppRoutes) ValidateRoutes(routes []domain.V0AppRoute) error
ValidateRoutes validates routes passed to it
type V0DropserverRoutes ¶
type V0DropserverRoutes struct {
AppspaceModel interface {
GetFromDomain(string) (*domain.Appspace, error)
} `checkinject:"required"`
Authenticator interface {
Unset(w http.ResponseWriter, r *http.Request)
} `checkinject:"required"`
V0RequestToken interface {
ReceiveToken(ref, token string)
ReceiveError(ref string, err error)
} `checkinject:"required"`
V0TokenManager interface {
SendLoginToken(appspaceID domain.AppspaceID, dropID string, ref string) error
} `checkinject:"required"`
}
V0DropserverRoutes represents struct for /dropserver appspace routes
Click to show internal directories.
Click to hide internal directories.