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  }