github.com/qiniu/go-sdk/v7@v7.27.0/pili/domain.go (about)

     1  package pili
     2  
     3  import (
     4  	"context"
     5  	"net/http"
     6  )
     7  
     8  // GetDomainsList 查询域名列表
     9  // GET /v2/hubs/<hub>/domains
    10  func (m *Manager) GetDomainsList(ctx context.Context, req GetDomainsListRequest) (*GetDomainsListResponse, error) {
    11  	if err := defaultValidator.Validate(req); err != nil {
    12  		return nil, err
    13  	}
    14  
    15  	response := new(GetDomainsListResponse)
    16  	if err := m.client.Call(ctx, response, http.MethodGet, m.url("/v2/hubs/%s/domains", req.Hub), nil); err != nil {
    17  		return nil, err
    18  	}
    19  	return response, nil
    20  }
    21  
    22  // GetDomainInfo 查询域名信息
    23  // GET /v2/hubs/<hub>/domains/<domain>
    24  func (m *Manager) GetDomainInfo(ctx context.Context, req GetDomainInfoRequest) (*GetDomainInfoResponse, error) {
    25  	if err := defaultValidator.Validate(req); err != nil {
    26  		return nil, err
    27  	}
    28  
    29  	response := new(GetDomainInfoResponse)
    30  	if err := m.client.Call(ctx, response, http.MethodGet, m.url("/v2/hubs/%s/domains/%s", req.Hub, req.Domain), nil); err != nil {
    31  		return nil, err
    32  	}
    33  	return response, nil
    34  }
    35  
    36  // BindDomain 绑定直播域名
    37  // POST /v2/hubs/<hub>/newdomains
    38  func (m *Manager) BindDomain(ctx context.Context, req BindDomainRequest) error {
    39  	if err := defaultValidator.Validate(req); err != nil {
    40  		return err
    41  	}
    42  
    43  	if err := m.client.CallWithJson(ctx, nil, http.MethodPost, m.url("/v2/hubs/%s/newdomains", req.Hub), nil, req); err != nil {
    44  		return err
    45  	}
    46  	return nil
    47  }
    48  
    49  // UnbindDomain 解绑直播域名
    50  // DELETE /v2/hubs/<hub>/domains/<domain>
    51  func (m *Manager) UnbindDomain(ctx context.Context, req UnbindDomainRequest) error {
    52  	if err := defaultValidator.Validate(req); err != nil {
    53  		return err
    54  	}
    55  
    56  	if err := m.client.CallWithJson(ctx, nil, http.MethodDelete, m.url("/v2/hubs/%s/domains/%s", req.Hub, req.Domain), nil, req); err != nil {
    57  		return err
    58  	}
    59  	return nil
    60  }
    61  
    62  // BindVodDomain 绑定点播域名
    63  // POST /v2/hubs/<hub>/voddomain
    64  // 点播域名用于访问直播空间对应的存储空间中的内容,例如回放、截图文件
    65  // 请在存储空间控制台配置好可用域名后,绑定到直播空间
    66  // 若未正确配置点播域名,可能无法正常使用回放录制、保存截图等功能
    67  func (m *Manager) BindVodDomain(ctx context.Context, req BindVodDomainRequest) error {
    68  	if err := defaultValidator.Validate(req); err != nil {
    69  		return err
    70  	}
    71  
    72  	if err := m.client.CallWithJson(ctx, nil, http.MethodPost, m.url("/v2/hubs/%s/voddomain", req.Hub), nil, req); err != nil {
    73  		return err
    74  	}
    75  	return nil
    76  }
    77  
    78  // SetDomainCert 修改域名证书配置
    79  // POST /v2/hubs/<hub>/domains/<domain>/cert
    80  func (m *Manager) SetDomainCert(ctx context.Context, req SetDomainCertRequest) error {
    81  	if err := defaultValidator.Validate(req); err != nil {
    82  		return err
    83  	}
    84  
    85  	if err := m.client.CallWithJson(ctx, nil, http.MethodPost, m.url("/v2/hubs/%s/domains/%s/cert", req.Hub, req.Domain), nil, req); err != nil {
    86  		return err
    87  	}
    88  	return nil
    89  }
    90  
    91  // SetDomainURLRewrite 修改域名改写规则配置
    92  // POST /v2/hubs/<hub>/domains/<domain>/urlrewrite
    93  // 可根据业务需求自定义推拉流URL
    94  // 改写后的URL应符合七牛的直播URL规范: <scheme>://<domain>/<hub>/<stream>[.<ext>]?<query>
    95  // 举例
    96  // 匹配规则: (.+)/live/(.+)/playlist.m3u8
    97  // 改写规则: ${1}/hub/${2}.m3u8
    98  // 请求URL: https://live.qiniu.com/live/stream01/playlist.m3u8 ; 改写URL: https://live.qiniu.com/hub/stream01.m3u8
    99  // 请求URL: https://live.qiniu.com/live/stream01.m3u8 ; 与规则不匹配,不做改写
   100  func (m *Manager) SetDomainURLRewrite(ctx context.Context, req SetDomainURLRewriteRequest) error {
   101  	if err := defaultValidator.Validate(req); err != nil {
   102  		return err
   103  	}
   104  
   105  	if err := m.client.CallWithJson(ctx, nil, http.MethodPost, m.url("/v2/hubs/%s/domains/%s/urlrewrite", req.Hub, req.Domain), nil, req); err != nil {
   106  		return err
   107  	}
   108  	return nil
   109  }