Documentation ¶
Index ¶
- Constants
- func AdminRequestHandler(router *cluster.Router) cluster.RequestMiddleware
- func BindMeetingFrontend() cluster.RequestMiddleware
- func MeetingsRequestHandler(router *cluster.Router, opts *MeetingsHandlerOptions) cluster.RequestMiddleware
- func RecordingsRequestHandler(router *cluster.Router, opts *RecordingsHandlerOptions) cluster.RequestMiddleware
- func RewriteUniqueMeetingID() cluster.RequestMiddleware
- func SetDefaultPresentation() cluster.RequestMiddleware
- type AdminHandler
- type FrontendKeyMeetingID
- type MeetingsHandler
- func (h *MeetingsHandler) Create(ctx context.Context, req *bbb.Request) (bbb.Response, error)
- func (h *MeetingsHandler) End(ctx context.Context, req *bbb.Request) (bbb.Response, error)
- func (h *MeetingsHandler) GetMeetingInfo(ctx context.Context, req *bbb.Request) (bbb.Response, error)
- func (h *MeetingsHandler) GetMeetings(ctx context.Context, req *bbb.Request) (bbb.Response, error)
- func (h *MeetingsHandler) IsMeetingRunning(ctx context.Context, req *bbb.Request) (bbb.Response, error)
- func (h *MeetingsHandler) Join(ctx context.Context, req *bbb.Request) (bbb.Response, error)
- type MeetingsHandlerOptions
- type RecordingsHandler
- func (h *RecordingsHandler) DeleteRecordings(ctx context.Context, req *bbb.Request) (bbb.Response, error)
- func (h *RecordingsHandler) GetRecordingTextTracks(ctx context.Context, req *bbb.Request) (bbb.Response, error)
- func (h *RecordingsHandler) GetRecordings(ctx context.Context, req *bbb.Request) (bbb.Response, error)
- func (h *RecordingsHandler) PublishRecordings(ctx context.Context, req *bbb.Request) (bbb.Response, error)
- func (h *RecordingsHandler) PutRecordingTextTrack(ctx context.Context, req *bbb.Request) (bbb.Response, error)
- func (h *RecordingsHandler) UpdateRecordings(ctx context.Context, req *bbb.Request) (bbb.Response, error)
- type RecordingsHandlerOptions
Constants ¶
const (
// CheckKnownValue is a well known value
CheckKnownValue = "b3scl"
)
Variables ¶
This section is empty.
Functions ¶
func AdminRequestHandler ¶
func AdminRequestHandler( router *cluster.Router, ) cluster.RequestMiddleware
AdminRequestHandler creates a new request middleware for handling all requests related to meetings.
func BindMeetingFrontend ¶
func BindMeetingFrontend() cluster.RequestMiddleware
BindMeetingFrontend asserts, that if a meeting exists and the meeting is either not bound to a frontend the meetings frontend will be set to the requesting frontend. We do not support rebinding between frontends and will fail if a frontend tries to steal a meeting.
func MeetingsRequestHandler ¶
func MeetingsRequestHandler( router *cluster.Router, opts *MeetingsHandlerOptions, ) cluster.RequestMiddleware
MeetingsRequestHandler creates a new request middleware for handling all requests related to meetings.
func RecordingsRequestHandler ¶
func RecordingsRequestHandler( router *cluster.Router, opts *RecordingsHandlerOptions, ) cluster.RequestMiddleware
RecordingsRequestHandler creates a new request middleware for handling all requests related to meetings.
func RewriteUniqueMeetingID ¶
func RewriteUniqueMeetingID() cluster.RequestMiddleware
RewriteUniqueMeetingID ensures that the meeting id is unique by combining FrontendKey and MeetingID.
The resonse may contain MeetingIDs. If this is the case, the meeting ID will be decoded and the original meeting id will be restored.
func SetDefaultPresentation ¶
func SetDefaultPresentation() cluster.RequestMiddleware
SetDefaultPresentation produces a middleware for injecting a XML snippet into the request body of a create request. There are two frontend setting variables:
default_presentation.url = https://path-to-presentation default_presentation.force = true | false
Types ¶
type AdminHandler ¶
type AdminHandler struct {
// contains filtered or unexported fields
}
AdminHandler will handle all meetings related API requests
func (*AdminHandler) GetDefaultConfigXML ¶
func (h *AdminHandler) GetDefaultConfigXML( ctx context.Context, req *bbb.Request, ) (bbb.Response, error)
GetDefaultConfigXML will lookup a backend for the request and will invoke the backend.
func (*AdminHandler) SetConfigXML ¶
SetConfigXML will lookup a backend for the request and will invoke the backend.
type FrontendKeyMeetingID ¶
The FrontendKeyMeetingID is the combination of a frontend key and a meeting
func DecodeFrontendKeyMeetingID ¶
func DecodeFrontendKeyMeetingID(id string) *FrontendKeyMeetingID
DecodeFrontendKeyMeetingID decodes a base64 encoded gob representation of the meeting id
func (*FrontendKeyMeetingID) EncodeToString ¶
func (id *FrontendKeyMeetingID) EncodeToString() string
EncodeToString encodes the combined ID as base64 string
type MeetingsHandler ¶
type MeetingsHandler struct {
// contains filtered or unexported fields
}
MeetingsHandler will handle all meetings related API requests
func (*MeetingsHandler) Create ¶
Create will acquire a backend from the router selected for the request and create the meeting.
func (*MeetingsHandler) GetMeetingInfo ¶
func (h *MeetingsHandler) GetMeetingInfo( ctx context.Context, req *bbb.Request, ) (bbb.Response, error)
GetMeetingInfo will not hit a backend, but we will query the store directly.
func (*MeetingsHandler) GetMeetings ¶
func (h *MeetingsHandler) GetMeetings( ctx context.Context, req *bbb.Request, ) (bbb.Response, error)
GetMeetings lists all meetings in the cluster relevant for the frontend
func (*MeetingsHandler) IsMeetingRunning ¶
func (h *MeetingsHandler) IsMeetingRunning( ctx context.Context, req *bbb.Request, ) (bbb.Response, error)
IsMeetingRunning will check on a backend if the meeting is still running
type MeetingsHandlerOptions ¶
type MeetingsHandlerOptions struct { // UseReverseProxy will handle the request in a way // that a reverse proxy can be used. This is an experimental // feature and a known issue is the unfortunate handling of breakout rooms. // When deployed in reverse proxy mode we will handle the // join internally and the proxy needs to handle subsequent requests. UseReverseProxy bool }
MeetingsHandlerOptions has configuration options for this middleware handling all meetings related stuff.
type RecordingsHandler ¶
type RecordingsHandler struct {
// contains filtered or unexported fields
}
RecordingsHandler will handle all meetings related API requests
func (*RecordingsHandler) DeleteRecordings ¶
func (h *RecordingsHandler) DeleteRecordings( ctx context.Context, req *bbb.Request, ) (bbb.Response, error)
DeleteRecordings will lookup a backend for the request and will invoke the backend.
func (*RecordingsHandler) GetRecordingTextTracks ¶
func (h *RecordingsHandler) GetRecordingTextTracks( ctx context.Context, req *bbb.Request, ) (bbb.Response, error)
GetRecordingTextTracks will lookup a backend for the request and will invoke the backend.
func (*RecordingsHandler) GetRecordings ¶
func (h *RecordingsHandler) GetRecordings( ctx context.Context, req *bbb.Request, ) (bbb.Response, error)
GetRecordings will lookup a backend for the request and will invoke the backend.
func (*RecordingsHandler) PublishRecordings ¶
func (h *RecordingsHandler) PublishRecordings( ctx context.Context, req *bbb.Request, ) (bbb.Response, error)
PublishRecordings will lookup a backend for the request and will invoke the backend.
func (*RecordingsHandler) PutRecordingTextTrack ¶
func (h *RecordingsHandler) PutRecordingTextTrack( ctx context.Context, req *bbb.Request, ) (bbb.Response, error)
PutRecordingTextTrack will lookup a backend for the request and will invoke the backend.
func (*RecordingsHandler) UpdateRecordings ¶
func (h *RecordingsHandler) UpdateRecordings( ctx context.Context, req *bbb.Request, ) (bbb.Response, error)
UpdateRecordings will lookup a backend for the request and will invoke the backend.
type RecordingsHandlerOptions ¶
type RecordingsHandlerOptions struct { }
RecordingsHandlerOptions has configuration options for this middleware handling all recordings.