working commit

This commit is contained in:
2026-02-12 12:00:17 +02:00
parent ae15bddb15
commit b279687623
20 changed files with 639 additions and 192 deletions
-66
View File
@@ -9,74 +9,8 @@
*/
package client
import (
"context"
"crypto/tls"
"fmt"
"net/http"
"net/url"
"time"
)
type Client struct{}
func NewClient() *Client {
return &Client{}
}
func convertServiceURI(ref string) (string, error) {
var err error
var res string
const serviceAPI = "/v3/api/service/"
const serviceScheme = "https"
uri, err := url.Parse(ref)
if err != nil {
return res, err
}
uri.Path, err = url.JoinPath(serviceAPI, uri.Path)
if err != nil {
return res, err
}
uri.Scheme = serviceScheme
res = uri.String()
return res, err
}
func (cli *Client) ServiceHello(ctx context.Context, serviceuri string, timeout time.Duration) (bool, error) {
var res bool
var err error
ctx, _ = context.WithTimeout(ctx, timeout)
serviceuri, _, _, err = repackServiceURI(serviceuri)
fmt.Printf("%s\n", serviceuri)
if err != nil {
return res, err
}
serviceuri, err = convertServiceURI(serviceuri)
fmt.Printf("%s\n", serviceuri)
if err != nil {
return res, err
}
req, err := http.NewRequestWithContext(ctx, http.MethodGet, serviceuri, nil)
if err != nil {
return res, err
}
transport := &http.Transport{
TLSClientConfig: &tls.Config{
InsecureSkipVerify: true,
},
}
client := &http.Client{
Transport: transport,
}
resp, err := client.Do(req)
if err != nil {
return res, err
}
defer resp.Body.Close()
if resp.StatusCode == http.StatusOK {
res = true
}
return res, err
}