dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts@v1.0.2/clients/http/common.go (about) 1 // 2 // Copyright (C) 2020-2021 IOTech Ltd 3 // Copyright (C) 2023 Intel Corporation 4 // 5 // SPDX-License-Identifier: Apache-2.0 6 7 package http 8 9 import ( 10 "context" 11 12 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/clients/http/utils" 13 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/clients/interfaces" 14 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/common" 15 dtoCommon "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/dtos/common" 16 "dev.azure.com/aidainnovazione0090/DeviceManager/_git/go-mod-core-contracts/errors" 17 ) 18 19 type commonClient struct { 20 baseUrl string 21 authInjector interfaces.AuthenticationInjector 22 } 23 24 // NewCommonClient creates an instance of CommonClient 25 func NewCommonClient(baseUrl string, authInjector interfaces.AuthenticationInjector) interfaces.CommonClient { 26 return &commonClient{ 27 baseUrl: baseUrl, 28 authInjector: authInjector, 29 } 30 } 31 32 func (cc *commonClient) Configuration(ctx context.Context) (dtoCommon.ConfigResponse, errors.EdgeX) { 33 cr := dtoCommon.ConfigResponse{} 34 err := utils.GetRequest(ctx, &cr, cc.baseUrl, common.ApiConfigRoute, nil, cc.authInjector) 35 if err != nil { 36 return cr, errors.NewCommonEdgeXWrapper(err) 37 } 38 return cr, nil 39 } 40 41 func (cc *commonClient) Ping(ctx context.Context) (dtoCommon.PingResponse, errors.EdgeX) { 42 pr := dtoCommon.PingResponse{} 43 err := utils.GetRequest(ctx, &pr, cc.baseUrl, common.ApiPingRoute, nil, cc.authInjector) 44 if err != nil { 45 return pr, errors.NewCommonEdgeXWrapper(err) 46 } 47 return pr, nil 48 } 49 50 func (cc *commonClient) Version(ctx context.Context) (dtoCommon.VersionResponse, errors.EdgeX) { 51 vr := dtoCommon.VersionResponse{} 52 err := utils.GetRequest(ctx, &vr, cc.baseUrl, common.ApiVersionRoute, nil, cc.authInjector) 53 if err != nil { 54 return vr, errors.NewCommonEdgeXWrapper(err) 55 } 56 return vr, nil 57 } 58 59 func (cc *commonClient) AddSecret(ctx context.Context, request dtoCommon.SecretRequest) (res dtoCommon.BaseResponse, err errors.EdgeX) { 60 err = utils.PostRequestWithRawData(ctx, &res, cc.baseUrl, common.ApiSecretRoute, nil, request, cc.authInjector) 61 if err != nil { 62 return res, errors.NewCommonEdgeXWrapper(err) 63 } 64 return res, nil 65 }