github.com/qiniu/go-sdk/v7@v7.27.0/pili/hub.go (about) 1 package pili 2 3 import ( 4 "context" 5 "net/http" 6 ) 7 8 // GetHubList 查询直播空间列表 9 // GET /v2/hubs 10 func (m *Manager) GetHubList(ctx context.Context) (*GetHubListResponse, error) { 11 response := new(GetHubListResponse) 12 if err := m.client.Call(ctx, response, http.MethodGet, m.apiHTTPScheme+m.apiHost+"/v2/hubs", nil); err != nil { 13 return nil, err 14 } 15 return response, nil 16 } 17 18 // GetHubInfo 查询直播空间信息 19 // GET /v2/hubs/<hub> 20 func (m *Manager) GetHubInfo(ctx context.Context, req GetHubInfoRequest) (*GetHubInfoResponse, error) { 21 if err := defaultValidator.Validate(req); err != nil { 22 return nil, err 23 } 24 25 response := new(GetHubInfoResponse) 26 if err := m.client.Call(ctx, response, http.MethodGet, m.url("/v2/hubs/%s", req.Hub), nil); err != nil { 27 return nil, err 28 } 29 response.Name = req.Hub 30 return response, nil 31 } 32 33 // HubSecurity 修改直播空间推流鉴权配置 34 // POST /v2/hubs/<hub>/security 35 func (m *Manager) HubSecurity(ctx context.Context, req HubSecurityRequest) error { 36 if err := defaultValidator.Validate(req); err != nil { 37 return err 38 } 39 40 if err := m.client.CallWithJson(ctx, nil, http.MethodPost, m.url("/v2/hubs/%s/security", req.Hub), nil, req); err != nil { 41 return err 42 } 43 return nil 44 } 45 46 // HubHlsplus 修改直播空间 hls 低延迟配置 47 // POST /v2/hubs/<hub>/hlsplus 48 func (m *Manager) HubHlsplus(ctx context.Context, req HubHlsplusRequest) error { 49 if err := defaultValidator.Validate(req); err != nil { 50 return err 51 } 52 53 if err := m.client.CallWithJson(ctx, nil, http.MethodPost, m.url("/v2/hubs/%s/hlsplus", req.Hub), nil, req); err != nil { 54 return err 55 } 56 return nil 57 } 58 59 // HubPersistence 修改直播空间存储配置 60 // POST /v2/hubs/<hub>/persistence 61 func (m *Manager) HubPersistence(ctx context.Context, req HubPersistenceRequest) error { 62 if err := defaultValidator.Validate(req); err != nil { 63 return err 64 } 65 66 if err := m.client.CallWithJson(ctx, nil, http.MethodPost, m.url("/v2/hubs/%s/persistence", req.Hub), nil, req); err != nil { 67 return err 68 } 69 return nil 70 } 71 72 // HubSnapshot 修改直播空间封面配置 73 // POST /v2/hubs/<hub>/snapshot 74 func (m *Manager) HubSnapshot(ctx context.Context, req HubSnapshotRequest) error { 75 if err := defaultValidator.Validate(req); err != nil { 76 return err 77 } 78 79 if err := m.client.CallWithJson(ctx, nil, http.MethodPost, m.url("/v2/hubs/%s/snapshot", req.Hub), nil, req); err != nil { 80 return err 81 } 82 return nil 83 }