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  }