From c5409c78ba7461f16945e28520241250bf38e082 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Wed, 9 Apr 2025 23:12:11 +0800 Subject: [PATCH] refactor: edgio api sdk --- go.mod | 3 +++ .../edgio-applications/edgio_applications.go | 12 ++++++------ internal/pkg/vendors/cdnfly-sdk/api.go | 7 ++++--- .../vendors/edgio-sdk/{applications => }/README.md | 0 .../applications/v7/dtos/cdn_configuration.go | 0 .../applications/v7/dtos/environment.go | 0 .../applications/v7/dtos/property.go | 0 .../applications/v7/dtos/purge.go | 0 .../applications/v7/dtos/tls_cert.go | 0 .../applications/v7/edgio_client.go | 3 +-- .../applications/v7/edgio_client_interface.go | 2 +- .../edgio-sdk/edgio-api@v0.0.0-workspace/go.mod | 3 +++ 12 files changed, 18 insertions(+), 12 deletions(-) rename internal/pkg/vendors/edgio-sdk/{applications => }/README.md (100%) rename internal/pkg/vendors/edgio-sdk/{ => edgio-api@v0.0.0-workspace}/applications/v7/dtos/cdn_configuration.go (100%) rename internal/pkg/vendors/edgio-sdk/{ => edgio-api@v0.0.0-workspace}/applications/v7/dtos/environment.go (100%) rename internal/pkg/vendors/edgio-sdk/{ => edgio-api@v0.0.0-workspace}/applications/v7/dtos/property.go (100%) rename internal/pkg/vendors/edgio-sdk/{ => edgio-api@v0.0.0-workspace}/applications/v7/dtos/purge.go (100%) rename internal/pkg/vendors/edgio-sdk/{ => edgio-api@v0.0.0-workspace}/applications/v7/dtos/tls_cert.go (100%) rename internal/pkg/vendors/edgio-sdk/{ => edgio-api@v0.0.0-workspace}/applications/v7/edgio_client.go (99%) rename internal/pkg/vendors/edgio-sdk/{ => edgio-api@v0.0.0-workspace}/applications/v7/edgio_client_interface.go (94%) create mode 100644 internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/go.mod diff --git a/go.mod b/go.mod index 7c8723af..196b186b 100644 --- a/go.mod +++ b/go.mod @@ -71,6 +71,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns v1.3.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph v0.9.0 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.3.3 // indirect + github.com/Edgio/edgio-api v0.0.0-workspace // indirect github.com/alibabacloud-go/alibabacloud-gateway-fc-util v0.0.7 // indirect github.com/alibabacloud-go/openplatform-20191219/v2 v2.0.1 // indirect github.com/alibabacloud-go/tea-fileform v1.1.1 // indirect @@ -211,6 +212,8 @@ require ( modernc.org/sqlite v1.36.1 // indirect ) +replace github.com/Edgio/edgio-api v0.0.0-workspace => ./internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace + replace gitlab.ecloud.com/ecloud/ecloudsdkcore v1.0.0 => ./internal/pkg/vendors/cmcc-sdk/ecloudsdkcore@v1.0.0 replace gitlab.ecloud.com/ecloud/ecloudsdkclouddns v1.0.1 => ./internal/pkg/vendors/cmcc-sdk/ecloudsdkclouddns@v1.0.1 diff --git a/internal/pkg/core/deployer/providers/edgio-applications/edgio_applications.go b/internal/pkg/core/deployer/providers/edgio-applications/edgio_applications.go index 8ce6c73d..8dea5555 100644 --- a/internal/pkg/core/deployer/providers/edgio-applications/edgio_applications.go +++ b/internal/pkg/core/deployer/providers/edgio-applications/edgio_applications.go @@ -4,12 +4,12 @@ import ( "context" "log/slog" + edgio "github.com/Edgio/edgio-api/applications/v7" + edgiodtos "github.com/Edgio/edgio-api/applications/v7/dtos" xerrors "github.com/pkg/errors" "github.com/usual2970/certimate/internal/pkg/core/deployer" "github.com/usual2970/certimate/internal/pkg/utils/certutil" - edgsdk "github.com/usual2970/certimate/internal/pkg/vendors/edgio-sdk/applications/v7" - edgsdkdtos "github.com/usual2970/certimate/internal/pkg/vendors/edgio-sdk/applications/v7/dtos" ) type DeployerConfig struct { @@ -24,7 +24,7 @@ type DeployerConfig struct { type DeployerProvider struct { config *DeployerConfig logger *slog.Logger - sdkClient *edgsdk.EdgioClient + sdkClient *edgio.EdgioClient } var _ deployer.Deployer = (*DeployerProvider)(nil) @@ -64,7 +64,7 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPe // 上传 TLS 证书 // REF: https://docs.edg.io/rest_api/#tag/tls-certs/operation/postConfigV01TlsCerts - uploadTlsCertReq := edgsdkdtos.UploadTlsCertRequest{ + uploadTlsCertReq := edgiodtos.UploadTlsCertRequest{ EnvironmentID: d.config.EnvironmentId, PrimaryCert: privateCertPem, IntermediateCert: intermediateCertPem, @@ -79,7 +79,7 @@ func (d *DeployerProvider) Deploy(ctx context.Context, certPem string, privkeyPe return &deployer.DeployResult{}, nil } -func createSdkClient(clientId, clientSecret string) (*edgsdk.EdgioClient, error) { - client := edgsdk.NewEdgioClient(clientId, clientSecret, "", "") +func createSdkClient(clientId, clientSecret string) (*edgio.EdgioClient, error) { + client := edgio.NewEdgioClient(clientId, clientSecret, "", "") return client, nil } diff --git a/internal/pkg/vendors/cdnfly-sdk/api.go b/internal/pkg/vendors/cdnfly-sdk/api.go index 2387f6d8..263bf2cd 100644 --- a/internal/pkg/vendors/cdnfly-sdk/api.go +++ b/internal/pkg/vendors/cdnfly-sdk/api.go @@ -3,17 +3,18 @@ package cdnflysdk import ( "fmt" "net/http" + "net/url" ) func (c *Client) GetSite(req *GetSiteRequest) (*GetSiteResponse, error) { resp := &GetSiteResponse{} - err := c.sendRequestWithResult(http.MethodGet, fmt.Sprintf("/v1/sites/%s", req.Id), req, resp) + err := c.sendRequestWithResult(http.MethodGet, fmt.Sprintf("/v1/sites/%s", url.PathEscape(req.Id)), req, resp) return resp, err } func (c *Client) UpdateSite(req *UpdateSiteRequest) (*UpdateSiteResponse, error) { resp := &UpdateSiteResponse{} - err := c.sendRequestWithResult(http.MethodPut, fmt.Sprintf("/v1/sites/%s", req.Id), req, resp) + err := c.sendRequestWithResult(http.MethodPut, fmt.Sprintf("/v1/sites/%s", url.PathEscape(req.Id)), req, resp) return resp, err } @@ -25,6 +26,6 @@ func (c *Client) CreateCertificate(req *CreateCertificateRequest) (*CreateCertif func (c *Client) UpdateCertificate(req *UpdateCertificateRequest) (*UpdateCertificateResponse, error) { resp := &UpdateCertificateResponse{} - err := c.sendRequestWithResult(http.MethodPut, fmt.Sprintf("/v1/certs/%s", req.Id), req, resp) + err := c.sendRequestWithResult(http.MethodPut, fmt.Sprintf("/v1/certs/%s", url.PathEscape(req.Id)), req, resp) return resp, err } diff --git a/internal/pkg/vendors/edgio-sdk/applications/README.md b/internal/pkg/vendors/edgio-sdk/README.md similarity index 100% rename from internal/pkg/vendors/edgio-sdk/applications/README.md rename to internal/pkg/vendors/edgio-sdk/README.md diff --git a/internal/pkg/vendors/edgio-sdk/applications/v7/dtos/cdn_configuration.go b/internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/applications/v7/dtos/cdn_configuration.go similarity index 100% rename from internal/pkg/vendors/edgio-sdk/applications/v7/dtos/cdn_configuration.go rename to internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/applications/v7/dtos/cdn_configuration.go diff --git a/internal/pkg/vendors/edgio-sdk/applications/v7/dtos/environment.go b/internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/applications/v7/dtos/environment.go similarity index 100% rename from internal/pkg/vendors/edgio-sdk/applications/v7/dtos/environment.go rename to internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/applications/v7/dtos/environment.go diff --git a/internal/pkg/vendors/edgio-sdk/applications/v7/dtos/property.go b/internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/applications/v7/dtos/property.go similarity index 100% rename from internal/pkg/vendors/edgio-sdk/applications/v7/dtos/property.go rename to internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/applications/v7/dtos/property.go diff --git a/internal/pkg/vendors/edgio-sdk/applications/v7/dtos/purge.go b/internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/applications/v7/dtos/purge.go similarity index 100% rename from internal/pkg/vendors/edgio-sdk/applications/v7/dtos/purge.go rename to internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/applications/v7/dtos/purge.go diff --git a/internal/pkg/vendors/edgio-sdk/applications/v7/dtos/tls_cert.go b/internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/applications/v7/dtos/tls_cert.go similarity index 100% rename from internal/pkg/vendors/edgio-sdk/applications/v7/dtos/tls_cert.go rename to internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/applications/v7/dtos/tls_cert.go diff --git a/internal/pkg/vendors/edgio-sdk/applications/v7/edgio_client.go b/internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/applications/v7/edgio_client.go similarity index 99% rename from internal/pkg/vendors/edgio-sdk/applications/v7/edgio_client.go rename to internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/applications/v7/edgio_client.go index a03436fc..fb7b7cf7 100644 --- a/internal/pkg/vendors/edgio-sdk/applications/v7/edgio_client.go +++ b/internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/applications/v7/edgio_client.go @@ -6,9 +6,8 @@ import ( "fmt" "time" + "github.com/Edgio/edgio-api/applications/v7/dtos" "github.com/go-resty/resty/v2" - - "github.com/usual2970/certimate/internal/pkg/vendors/edgio-sdk/applications/v7/dtos" ) // AccessTokenResponse represents the response from the token endpoint. diff --git a/internal/pkg/vendors/edgio-sdk/applications/v7/edgio_client_interface.go b/internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/applications/v7/edgio_client_interface.go similarity index 94% rename from internal/pkg/vendors/edgio-sdk/applications/v7/edgio_client_interface.go rename to internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/applications/v7/edgio_client_interface.go index ea5fa958..645d73aa 100644 --- a/internal/pkg/vendors/edgio-sdk/applications/v7/edgio_client_interface.go +++ b/internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/applications/v7/edgio_client_interface.go @@ -3,7 +3,7 @@ package edgio_api import ( "context" - "github.com/usual2970/certimate/internal/pkg/vendors/edgio-sdk/applications/v7/dtos" + "github.com/Edgio/edgio-api/applications/v7/dtos" ) type EdgioClientInterface interface { diff --git a/internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/go.mod b/internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/go.mod new file mode 100644 index 00000000..2c127948 --- /dev/null +++ b/internal/pkg/vendors/edgio-sdk/edgio-api@v0.0.0-workspace/go.mod @@ -0,0 +1,3 @@ +module github.com/Edgio/edgio-api + +go 1.23.0