client/api/live_api.go (173 lines of code) (raw):

// Package client /* * YuanJing OpenAPI SDK for Go * * */ package api import ( "github.com/aliyun/alibabacloud-yjopenapi-go-client/client/model" "io/ioutil" "net/http" "net/url" "strings" ) type LiveApiService service // QueryStatus /* * 查询推流状态 * @param varForms model.LiveQueryStatusForms */ func (s *LiveApiService) QueryStatus( varForms *model.LiveQueryStatusForms, ) (model.LiveQueryStatusResult, *http.Response, error) { var ( varHttpMethod = strings.ToUpper("Post") varReturnValue model.LiveQueryStatusResult ) // create path and map variables varPath := s.client.cfg.Scheme + "://" + s.client.cfg.Host + "/live/queryStatus" varHeaderParams := make(map[string]string) varQueryParams := url.Values{} varFormParams := url.Values{} // to determine the Content-Type header varHttpContentTypes := []string{"application/x-www-form-urlencoded"} // set Content-Type header varHttpContentType := selectHeaderContentType(varHttpContentTypes) if varHttpContentType != "" { varHeaderParams["Content-Type"] = varHttpContentType } // to determine the Accept header varHttpHeaderAccepts := []string{"application/json"} // set Accept header varHttpHeaderAccept := selectHeaderAccept(varHttpHeaderAccepts) if varHttpHeaderAccept != "" { varHeaderParams["Accept"] = varHttpHeaderAccept } varFormParams.Add("appKey", parameterToString(varForms.AppKey, "")) varFormParams.Add("gameSession", parameterToString(varForms.GameSession, "")) if varForms != nil && varForms.LiveId != nil { varFormParams.Add("liveId", parameterToString(*varForms.LiveId, "")) } r, err := s.client.prepareRequest(varPath, varHttpMethod, varHeaderParams, varQueryParams, varFormParams) if err != nil { return varReturnValue, nil, err } varHttpResponse, err := s.client.callAPI(r) if err != nil || varHttpResponse == nil { return varReturnValue, varHttpResponse, err } defer varHttpResponse.Body.Close() varBody, err := ioutil.ReadAll(varHttpResponse.Body) if err != nil { return varReturnValue, varHttpResponse, err } if varHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. err = s.client.decode(&varReturnValue, varBody, varHttpResponse.Header.Get("Content-Type")) if err == nil { return varReturnValue, varHttpResponse, err } } if varHttpResponse.StatusCode >= 300 { newErr := GenericError{ body: varBody, error: varHttpResponse.Status, } return varReturnValue, varHttpResponse, newErr } return varReturnValue, varHttpResponse, nil } // StartGameLive /* * 开始直播推流 * @param varForms model.LiveStartGameLiveForms */ func (s *LiveApiService) StartGameLive( varForms *model.LiveStartGameLiveForms, ) (model.LiveStartGameLiveResult, *http.Response, error) { var ( varHttpMethod = strings.ToUpper("Post") varReturnValue model.LiveStartGameLiveResult ) // create path and map variables varPath := s.client.cfg.Scheme + "://" + s.client.cfg.Host + "/live/startGameLive" varHeaderParams := make(map[string]string) varQueryParams := url.Values{} varFormParams := url.Values{} // to determine the Content-Type header varHttpContentTypes := []string{"application/x-www-form-urlencoded"} // set Content-Type header varHttpContentType := selectHeaderContentType(varHttpContentTypes) if varHttpContentType != "" { varHeaderParams["Content-Type"] = varHttpContentType } // to determine the Accept header varHttpHeaderAccepts := []string{"application/json"} // set Accept header varHttpHeaderAccept := selectHeaderAccept(varHttpHeaderAccepts) if varHttpHeaderAccept != "" { varHeaderParams["Accept"] = varHttpHeaderAccept } varFormParams.Add("appKey", parameterToString(varForms.AppKey, "")) varFormParams.Add("gameSession", parameterToString(varForms.GameSession, "")) varFormParams.Add("serverUrl", parameterToString(varForms.ServerUrl, "")) varFormParams.Add("streamKey", parameterToString(varForms.StreamKey, "")) if varForms != nil && varForms.Config != nil { varFormParams.Add("config", parameterToString(*varForms.Config, "")) } r, err := s.client.prepareRequest(varPath, varHttpMethod, varHeaderParams, varQueryParams, varFormParams) if err != nil { return varReturnValue, nil, err } varHttpResponse, err := s.client.callAPI(r) if err != nil || varHttpResponse == nil { return varReturnValue, varHttpResponse, err } defer varHttpResponse.Body.Close() varBody, err := ioutil.ReadAll(varHttpResponse.Body) if err != nil { return varReturnValue, varHttpResponse, err } if varHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. err = s.client.decode(&varReturnValue, varBody, varHttpResponse.Header.Get("Content-Type")) if err == nil { return varReturnValue, varHttpResponse, err } } if varHttpResponse.StatusCode >= 300 { newErr := GenericError{ body: varBody, error: varHttpResponse.Status, } return varReturnValue, varHttpResponse, newErr } return varReturnValue, varHttpResponse, nil } // StopGameLive /* * 结束直播推流 * @param varForms model.LiveStopGameLiveForms */ func (s *LiveApiService) StopGameLive( varForms *model.LiveStopGameLiveForms, ) (model.LiveStopGameLiveResult, *http.Response, error) { var ( varHttpMethod = strings.ToUpper("Post") varReturnValue model.LiveStopGameLiveResult ) // create path and map variables varPath := s.client.cfg.Scheme + "://" + s.client.cfg.Host + "/live/stopGameLive" varHeaderParams := make(map[string]string) varQueryParams := url.Values{} varFormParams := url.Values{} // to determine the Content-Type header varHttpContentTypes := []string{"application/x-www-form-urlencoded"} // set Content-Type header varHttpContentType := selectHeaderContentType(varHttpContentTypes) if varHttpContentType != "" { varHeaderParams["Content-Type"] = varHttpContentType } // to determine the Accept header varHttpHeaderAccepts := []string{"application/json"} // set Accept header varHttpHeaderAccept := selectHeaderAccept(varHttpHeaderAccepts) if varHttpHeaderAccept != "" { varHeaderParams["Accept"] = varHttpHeaderAccept } varFormParams.Add("appKey", parameterToString(varForms.AppKey, "")) varFormParams.Add("gameSession", parameterToString(varForms.GameSession, "")) if varForms != nil && varForms.LiveId != nil { varFormParams.Add("liveId", parameterToString(*varForms.LiveId, "")) } r, err := s.client.prepareRequest(varPath, varHttpMethod, varHeaderParams, varQueryParams, varFormParams) if err != nil { return varReturnValue, nil, err } varHttpResponse, err := s.client.callAPI(r) if err != nil || varHttpResponse == nil { return varReturnValue, varHttpResponse, err } defer varHttpResponse.Body.Close() varBody, err := ioutil.ReadAll(varHttpResponse.Body) if err != nil { return varReturnValue, varHttpResponse, err } if varHttpResponse.StatusCode < 300 { // If we succeed, return the data, otherwise pass on to decode error. err = s.client.decode(&varReturnValue, varBody, varHttpResponse.Header.Get("Content-Type")) if err == nil { return varReturnValue, varHttpResponse, err } } if varHttpResponse.StatusCode >= 300 { newErr := GenericError{ body: varBody, error: varHttpResponse.Status, } return varReturnValue, varHttpResponse, newErr } return varReturnValue, varHttpResponse, nil }