package certcenter import ( "github.com/volcengine/volcengine-go-sdk/volcengine" "github.com/volcengine/volcengine-go-sdk/volcengine/client" "github.com/volcengine/volcengine-go-sdk/volcengine/client/metadata" "github.com/volcengine/volcengine-go-sdk/volcengine/corehandlers" "github.com/volcengine/volcengine-go-sdk/volcengine/request" "github.com/volcengine/volcengine-go-sdk/volcengine/signer/volc" "github.com/volcengine/volcengine-go-sdk/volcengine/volcenginequery" ) type CertCenter struct { *client.Client } var initClient func(*client.Client) var initRequest func(*request.Request) const ( ServiceName = "certificate_service" EndpointsID = ServiceName ServiceID = "certificate_service" ) func New(p client.ConfigProvider, cfgs ...*volcengine.Config) *CertCenter { c := p.ClientConfig(EndpointsID, cfgs...) return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName) } func newClient(cfg volcengine.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *CertCenter { svc := &CertCenter{ Client: client.New( cfg, metadata.ClientInfo{ ServiceName: ServiceName, ServiceID: ServiceID, SigningName: signingName, SigningRegion: signingRegion, Endpoint: endpoint, APIVersion: "2024-10-01", }, handlers, ), } svc.Handlers.Build.PushBackNamed(corehandlers.SDKVersionUserAgentHandler) svc.Handlers.Build.PushBackNamed(corehandlers.AddHostExecEnvUserAgentHandler) svc.Handlers.Sign.PushBackNamed(volc.SignRequestHandler) svc.Handlers.Build.PushBackNamed(volcenginequery.BuildHandler) svc.Handlers.Unmarshal.PushBackNamed(volcenginequery.UnmarshalHandler) svc.Handlers.UnmarshalMeta.PushBackNamed(volcenginequery.UnmarshalMetaHandler) svc.Handlers.UnmarshalError.PushBackNamed(volcenginequery.UnmarshalErrorHandler) if initClient != nil { initClient(svc.Client) } return svc } func (c *CertCenter) newRequest(op *request.Operation, params, data interface{}) *request.Request { req := c.NewRequest(op, params, data) if initRequest != nil { initRequest(req) } return req }