Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 58cb86af97 |
@@ -3,8 +3,8 @@ package api
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
basket "git.pbiernat.space/egommerce/api-entities/basket/dto"
|
basket "git.ego.freeddns.org/egommerce/api-entities/basket/dto"
|
||||||
cnf "git.pbiernat.space/egommerce/go-api-pkg/config"
|
cnf "git.ego.freeddns.org/egommerce/go-api-pkg/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewBasketAPI() *BasketAPI {
|
func NewBasketAPI() *BasketAPI {
|
||||||
@@ -18,7 +18,7 @@ type BasketAPI struct {
|
|||||||
func (a *BasketAPI) GetBasket(basketID string) (*basket.GetBasketResponseDTO, error) {
|
func (a *BasketAPI) GetBasket(basketID string) (*basket.GetBasketResponseDTO, error) {
|
||||||
req := &basket.GetBasketRequestDTO{BasketID: basketID}
|
req := &basket.GetBasketRequestDTO{BasketID: basketID}
|
||||||
res := new(basket.GetBasketResponseDTO)
|
res := new(basket.GetBasketResponseDTO)
|
||||||
if err := a.httpClient.SendGet("/api/v1/basket", req, res); err != nil {
|
if err := a.httpClient.SendGet("basket-svc", "/api/v1/basket", req, res); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ func (a *BasketAPI) GetBasketItems(basketID string) ([]*basket.GetBasketItemsRes
|
|||||||
req := basket.GetBasketItemsRequestDTO{BasketID: basketID}
|
req := basket.GetBasketItemsRequestDTO{BasketID: basketID}
|
||||||
var res []*basket.GetBasketItemsResponseDTO
|
var res []*basket.GetBasketItemsResponseDTO
|
||||||
|
|
||||||
if err := a.httpClient.SendGet(url, req, &res); err != nil {
|
if err := a.httpClient.SendGet("basket-svc", url, req, &res); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
"crypto/tls"
|
"crypto/tls"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -17,36 +18,44 @@ func NewHttpClient(baseURL string) *HttpClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *HttpClient) SendGet(url string, data, out any) error {
|
func (c *HttpClient) SendGet(url string, data, out any) error {
|
||||||
resp, err := c.sendRequest(url, http.MethodGet, data)
|
fmt.Printf("Sending req to: %s%s\n", c.baseURL, url)
|
||||||
|
res, err := c.sendRequest(c.baseURL, url, http.MethodGet, data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
decoder := json.NewDecoder(resp.Body)
|
decoder := json.NewDecoder(res.Body)
|
||||||
defer resp.Body.Close()
|
err = decoder.Decode(&out)
|
||||||
|
|
||||||
return decoder.Decode(&out)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *HttpClient) SendPost(url string, data, out any) error {
|
|
||||||
resp, err := c.sendRequest(url, http.MethodPost, data)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
decoder := json.NewDecoder(resp.Body)
|
return nil
|
||||||
defer resp.Body.Close()
|
|
||||||
|
|
||||||
return decoder.Decode(&out)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *HttpClient) sendRequest(url, method string, data any) (*http.Response, error) {
|
func (c *HttpClient) SendPost(url string, data, out any) (any, error) {
|
||||||
apiUrl := c.baseURL + url
|
res, err := c.sendRequest(c.baseURL, url, http.MethodPost, data)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
decoder := json.NewDecoder(res.Body)
|
||||||
|
err = decoder.Decode(out)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *HttpClient) sendRequest(baseURL, actionURL, method string, data any) (*http.Response, error) {
|
||||||
|
apiUrl := baseURL + actionURL
|
||||||
|
|
||||||
tr := &http.Transport{
|
tr := &http.Transport{
|
||||||
TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, // FIXME dev mode
|
TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, // FIXME dev mode
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Create an HTTP client with the custom transport
|
||||||
client := &http.Client{Transport: tr} // FIXME dev mode
|
client := &http.Client{Transport: tr} // FIXME dev mode
|
||||||
|
|
||||||
json, err := json.Marshal(&data)
|
json, err := json.Marshal(&data)
|
||||||
@@ -61,11 +70,11 @@ func (c *HttpClient) sendRequest(url, method string, data any) (*http.Response,
|
|||||||
|
|
||||||
req.Header.Set("Content-Type", "application/json")
|
req.Header.Set("Content-Type", "application/json")
|
||||||
req.Header.Set("User-Agent", c.userAgent)
|
req.Header.Set("User-Agent", c.userAgent)
|
||||||
req.Header.Set("Authorization", "Bearer DupaToken")
|
res, err := client.Do(req)
|
||||||
resp, err := client.Do(req)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
defer res.Body.Close()
|
||||||
|
|
||||||
return resp, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package api
|
package api
|
||||||
|
|
||||||
import (
|
import (
|
||||||
identity "git.pbiernat.space/egommerce/api-entities/identity/dto"
|
identity "git.ego.freeddns.org/egommerce/api-entities/identity/dto"
|
||||||
cnf "git.pbiernat.space/egommerce/go-api-pkg/config"
|
cnf "git.ego.freeddns.org/egommerce/go-api-pkg/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
type IdentityAPI struct {
|
type IdentityAPI struct {
|
||||||
@@ -17,7 +17,8 @@ func (a *IdentityAPI) CheckAccess(url, srv string) (*identity.CheckAccessRespons
|
|||||||
req := &identity.CheckAccessRequestDTO{URL: url, Service: srv}
|
req := &identity.CheckAccessRequestDTO{URL: url, Service: srv}
|
||||||
res := new(identity.CheckAccessResponseDTO)
|
res := new(identity.CheckAccessResponseDTO)
|
||||||
|
|
||||||
if err := a.httpClient.SendGet("/v1/access", req, res); err != nil {
|
// targetURL := fmt.Sprintf("/v1/access?url=%s&srv=%s", url, srv)
|
||||||
|
if err := a.httpClient.SendGet("identity-svc", "/v1/access", req, res); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ package api
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
pricing "git.pbiernat.space/egommerce/api-entities/pricing/dto"
|
pricing "git.ego.freeddns.org/egommerce/api-entities/pricing/dto"
|
||||||
cnf "git.pbiernat.space/egommerce/go-api-pkg/config"
|
cnf "git.ego.freeddns.org/egommerce/go-api-pkg/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewPricingAPI() *PricingAPI {
|
func NewPricingAPI() *PricingAPI {
|
||||||
@@ -18,7 +18,7 @@ type PricingAPI struct {
|
|||||||
func (a *PricingAPI) GetProductPrice(productID int) (*pricing.ProductPriceResponseDTO, error) {
|
func (a *PricingAPI) GetProductPrice(productID int) (*pricing.ProductPriceResponseDTO, error) {
|
||||||
url := fmt.Sprintf("/api/v1/product/%d", productID)
|
url := fmt.Sprintf("/api/v1/product/%d", productID)
|
||||||
res := new(pricing.ProductPriceResponseDTO)
|
res := new(pricing.ProductPriceResponseDTO)
|
||||||
if err := a.httpClient.SendGet(url, nil, res); err != nil {
|
if err := a.httpClient.SendGet("pricing-svc", url, nil, res); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
4
go.mod
4
go.mod
@@ -1,4 +1,4 @@
|
|||||||
module git.pbiernat.space/egommerce/go-api-pkg
|
module git.ego.freeddns.org/egommerce/go-api-pkg
|
||||||
|
|
||||||
go 1.24
|
go 1.24
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@ require (
|
|||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
git.pbiernat.space/egommerce/api-entities v0.3.53
|
git.ego.freeddns.org/egommerce/api-entities v0.3.50
|
||||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||||
github.com/jackc/pgx/v5 v5.7.6
|
github.com/jackc/pgx/v5 v5.7.6
|
||||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||||
|
|||||||
4
go.sum
4
go.sum
@@ -1,5 +1,5 @@
|
|||||||
git.pbiernat.space/egommerce/api-entities v0.3.50 h1:3BYB+0gGSkXf4JlcYQtlLhe3goL5aL8A9M54LlzdlfM=
|
git.ego.freeddns.org/egommerce/api-entities v0.3.50 h1:3BYB+0gGSkXf4JlcYQtlLhe3goL5aL8A9M54LlzdlfM=
|
||||||
git.pbiernat.space/egommerce/api-entities v0.3.50/go.mod h1:D58YWJz0jvARi/7pNpDMzp00nfk9YLOj9zjcKRDHBhY=
|
git.ego.freeddns.org/egommerce/api-entities v0.3.50/go.mod h1:D58YWJz0jvARi/7pNpDMzp00nfk9YLOj9zjcKRDHBhY=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
||||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
|||||||
Reference in New Issue
Block a user