aboutsummaryrefslogtreecommitdiffstats
path: root/certServiceK8sExternalProvider/src/certserviceclient/cert_service_client.go
diff options
context:
space:
mode:
Diffstat (limited to 'certServiceK8sExternalProvider/src/certserviceclient/cert_service_client.go')
-rw-r--r--certServiceK8sExternalProvider/src/certserviceclient/cert_service_client.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/certServiceK8sExternalProvider/src/certserviceclient/cert_service_client.go b/certServiceK8sExternalProvider/src/certserviceclient/cert_service_client.go
index 870a3eda..15b90624 100644
--- a/certServiceK8sExternalProvider/src/certserviceclient/cert_service_client.go
+++ b/certServiceK8sExternalProvider/src/certserviceclient/cert_service_client.go
@@ -23,6 +23,7 @@ package certserviceclient
import (
"encoding/base64"
"encoding/json"
+ "fmt"
"net/http"
)
@@ -33,9 +34,11 @@ const (
type CertServiceClient interface {
GetCertificates(csr []byte, key []byte) (*CertificatesResponse, error)
+ CheckHealth() error
}
type CertServiceClientImpl struct {
+ healthUrl string
certificationUrl string
httpClient HTTPClient
}
@@ -49,6 +52,25 @@ type CertificatesResponse struct {
TrustedCertificates []string `json:"trustedCertificates"`
}
+func (client *CertServiceClientImpl) CheckHealth() error {
+ request, err := http.NewRequest("GET", client.healthUrl, nil)
+ if err != nil {
+ return err
+ }
+
+ response, err := client.httpClient.Do(request)
+ if err != nil {
+ return err
+ }
+
+ if response.StatusCode != 200 {
+ return fmt.Errorf("health check retured status code [%d]", response.StatusCode)
+ }
+
+ return nil
+}
+
+
func (client *CertServiceClientImpl) GetCertificates(csr []byte, key []byte) (*CertificatesResponse, error) {
request, err := http.NewRequest("GET", client.certificationUrl, nil)