Compare commits

...

4 Commits

Author SHA1 Message Date
5e3b6cc332 Added baseURL prefix 2025-11-16 14:23:49 +01:00
11900eeecd Fixed req with insecured tls 2025-11-15 21:16:34 +01:00
4f9ef33ab1 Added baseURL for rest api clients 2025-11-15 20:57:30 +01:00
be77803d96 Added baseURL for rest api clients 2025-11-15 20:55:47 +01:00
4 changed files with 29 additions and 16 deletions

View File

@@ -4,10 +4,11 @@ import (
"fmt"
basket "git.ego.freeddns.org/egommerce/api-entities/basket/dto"
cnf "git.ego.freeddns.org/egommerce/go-api-pkg/config"
)
func NewBasketAPI() *BasketAPI {
return &BasketAPI{NewHttpClient()}
return &BasketAPI{NewHttpClient(cnf.GetEnv("API_REST_BASKET", "basket-svc"))}
}
type BasketAPI struct {
@@ -17,7 +18,7 @@ type BasketAPI struct {
func (a *BasketAPI) GetBasket(basketID string) (*basket.GetBasketResponseDTO, error) {
req := &basket.GetBasketRequestDTO{BasketID: basketID}
res := new(basket.GetBasketResponseDTO)
if err := a.httpClient.SendGet("basket-svc", "/api/v1/basket", req, res); err != nil {
if err := a.httpClient.SendGet("/api/v1/basket", req, res); err != nil {
return nil, err
}
@@ -29,7 +30,7 @@ func (a *BasketAPI) GetBasketItems(basketID string) ([]*basket.GetBasketItemsRes
req := basket.GetBasketItemsRequestDTO{BasketID: basketID}
var res []*basket.GetBasketItemsResponseDTO
if err := a.httpClient.SendGet("basket-svc", url, req, &res); err != nil {
if err := a.httpClient.SendGet(url, req, &res); err != nil {
return nil, err
}

View File

@@ -2,20 +2,24 @@ package api
import (
"bytes"
"crypto/tls"
"encoding/json"
"fmt"
"net/http"
)
type HttpClient struct {
baseURL string
userAgent string
}
func NewHttpClient() *HttpClient {
return &HttpClient{userAgent: "internal-http-client"}
func NewHttpClient(baseURL string) *HttpClient {
return &HttpClient{baseURL: baseURL, userAgent: "internal-http-client"}
}
func (c *HttpClient) SendGet(api, url string, data, out any) error {
res, err := c.sendRequest(api, url, http.MethodGet, data)
func (c *HttpClient) SendGet(url string, data, out any) error {
fmt.Printf("Sending req to: %s%s\n", c.baseURL, url)
res, err := c.sendRequest(c.baseURL, url, http.MethodGet, data)
if err != nil {
return err
}
@@ -29,8 +33,8 @@ func (c *HttpClient) SendGet(api, url string, data, out any) error {
return nil
}
func (c *HttpClient) SendPost(api, url string, data, out any) (any, error) {
res, err := c.sendRequest(api, url, http.MethodPost, data)
func (c *HttpClient) SendPost(url string, data, out any) (any, error) {
res, err := c.sendRequest(c.baseURL, url, http.MethodPost, data)
if err != nil {
return nil, err
}
@@ -44,9 +48,15 @@ func (c *HttpClient) SendPost(api, url string, data, out any) (any, error) {
return out, nil
}
func (c *HttpClient) sendRequest(api, url, method string, data any) (*http.Response, error) {
apiUrl := api + url // FIXME
client := &http.Client{}
func (c *HttpClient) sendRequest(baseURL, actionURL, method string, data any) (*http.Response, error) {
apiUrl := baseURL + actionURL
tr := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, // FIXME dev mode
}
// Create an HTTP client with the custom transport
client := &http.Client{Transport: tr} // FIXME dev mode
json, err := json.Marshal(&data)
if err != nil {

View File

@@ -2,6 +2,7 @@ package api
import (
identity "git.ego.freeddns.org/egommerce/api-entities/identity/dto"
cnf "git.ego.freeddns.org/egommerce/go-api-pkg/config"
)
type IdentityAPI struct {
@@ -9,7 +10,7 @@ type IdentityAPI struct {
}
func NewIdentityAPI() *IdentityAPI {
return &IdentityAPI{NewHttpClient()}
return &IdentityAPI{NewHttpClient(cnf.GetEnv("API_REST_IDENTITY", "identity-svc"))}
}
func (a *IdentityAPI) CheckAccess(url, srv string) (*identity.CheckAccessResponseDTO, error) {
@@ -17,7 +18,7 @@ func (a *IdentityAPI) CheckAccess(url, srv string) (*identity.CheckAccessRespons
res := new(identity.CheckAccessResponseDTO)
// targetURL := fmt.Sprintf("/v1/access?url=%s&srv=%s", url, srv)
if err := a.httpClient.SendGet("identity-svc", "/v1/access", req, res); err != nil {
if err := a.httpClient.SendGet("/v1/access", req, res); err != nil {
return nil, err
}

View File

@@ -4,10 +4,11 @@ import (
"fmt"
pricing "git.ego.freeddns.org/egommerce/api-entities/pricing/dto"
cnf "git.ego.freeddns.org/egommerce/go-api-pkg/config"
)
func NewPricingAPI() *PricingAPI {
return &PricingAPI{NewHttpClient()}
return &PricingAPI{NewHttpClient(cnf.GetEnv("API_REST_PRICING", "pricing-svc"))}
}
type PricingAPI struct {
@@ -17,7 +18,7 @@ type PricingAPI struct {
func (a *PricingAPI) GetProductPrice(productID int) (*pricing.ProductPriceResponseDTO, error) {
url := fmt.Sprintf("/api/v1/product/%d", productID)
res := new(pricing.ProductPriceResponseDTO)
if err := a.httpClient.SendGet("pricing-svc", url, nil, res); err != nil {
if err := a.httpClient.SendGet(url, nil, res); err != nil {
return nil, err
}