package requests

import "io"

type CommonRequest struct {
	*baseRequest
	Product  string
	Ontology AcsRequest
}

func (request *CommonRequest) TransToAscRequest() {
	rpcRequest := &RpcRequest{}
	rpcRequest.baseRequest = request.baseRequest
	rpcRequest.product = request.Product
	request.Ontology = rpcRequest
}

func (request *CommonRequest) BuildUrl() string {
	return request.Ontology.BuildUrl()
}

func (request *CommonRequest) BuildQueries() string {
	return request.Ontology.BuildQueries()
}

func (request *CommonRequest) GetBodyReader() io.Reader {
	return request.Ontology.GetBodyReader()
}

func (request *CommonRequest) GetStyle() string {
	return request.Ontology.GetStyle()
}

func (request *CommonRequest) InitWithApiInfo(domain Host, version, urlPath string) {
	request.Ontology.InitWithApiInfo(domain, version, urlPath)
}