• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mendersoftware / mender-server / 1863989307

11 Jun 2025 08:38AM UTC coverage: 66.403% (+0.7%) from 65.731%
1863989307

Pull #720

gitlab-ci

mzedel
test(gui): made e2e tests work with changed tenant token expansion

Signed-off-by: Manuel Zedel <manuel.zedel@northern.tech>
Pull Request #720: MEN-8411 - billing/ organization split

29581 of 44548 relevant lines covered (66.4%)

1.45 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/backend/pkg/apiclient/api_client.go
1
// Copyright 2023 Northern.tech AS
2
//
3
//        Licensed under the Apache License, Version 2.0 (the "License");
4
//        you may not use this file except in compliance with the License.
5
//        You may obtain a copy of the License at
6
//
7
//            http://www.apache.org/licenses/LICENSE-2.0
8
//
9
//        Unless required by applicable law or agreed to in writing, software
10
//        distributed under the License is distributed on an "AS IS" BASIS,
11
//        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
//        See the License for the specific language governing permissions and
13
//        limitations under the License.
14
package apiclient
15

16
import (
17
        "net/http"
18

19
        "github.com/mendersoftware/mender-server/pkg/requestid"
20

21
        ctxhttpheader "github.com/mendersoftware/mender-server/pkg/context/httpheader"
22
)
23

24
// maybeSetHeader sets HTTP header `hdr` to value `val` if `val` is not empty or
25
// the header is not yet set.
26
func maybeSetHeader(hdrs http.Header, hdr string, val string) {
×
27
        if val == "" {
×
28
                return
×
29
        }
×
30

31
        if hdrs.Get(hdr) == "" {
×
32
                hdrs.Add(hdr, val)
×
33
        }
×
34
}
35

36
// HttpApi is an http.Client wrapper tailored to use with mender's APIs.
37
type HttpApi struct {
38
}
39

40
// Do behaves similarly to http.Client.Do(), but will also automatically add
41
// mender related headers, if these can be built based on request's context. The
42
// headers are:
43
// - X-Mender-RequestId - extracted with requestid.FromContext()
44
// - Authorization - extracted with httpheader.FromContext()
45
// If given header is already set, the value from context will not be used
46
func (a *HttpApi) Do(r *http.Request) (*http.Response, error) {
×
47
        client := &http.Client{}
×
48
        ctx := r.Context()
×
49

×
50
        maybeSetHeader(r.Header, requestid.RequestIdHeader,
×
51
                requestid.FromContext(ctx))
×
52
        maybeSetHeader(r.Header, "Authorization",
×
53
                ctxhttpheader.FromContext(ctx, "Authorization"))
×
54

×
55
        return client.Do(r)
×
56
}
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc