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

mendersoftware / mender-server / 1622978334

13 Jan 2025 03:51PM UTC coverage: 72.802% (-3.8%) from 76.608%
1622978334

Pull #300

gitlab-ci

alfrunes
fix: Deployment device count should not exceed max devices

Added a condition to skip deployments when the device count reaches max
devices.

Changelog: Title
Ticket: MEN-7847
Signed-off-by: Alf-Rune Siqveland <alf.rune@northern.tech>
Pull Request #300: fix: Deployment device count should not exceed max devices

4251 of 6164 branches covered (68.96%)

Branch coverage included in aggregate %.

0 of 18 new or added lines in 1 file covered. (0.0%)

2544 existing lines in 83 files now uncovered.

42741 of 58384 relevant lines covered (73.21%)

21.49 hits per line

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

0.0
/backend/pkg/context/httpheader/header.go
1
// Copyright 2024 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 httpheader
15

16
import (
17
        "context"
18
        "net/http"
19
        "net/textproto"
20
)
21

22
type headerKeyType string
23

UNCOV
24
func makeKeyName(hdr string) headerKeyType {
×
UNCOV
25
        key := textproto.CanonicalMIMEHeaderKey(hdr)
×
UNCOV
26
        return headerKeyType(key)
×
UNCOV
27
}
×
28

29
// WithContext stores HTTP headers from `hdrs` which listed in `which` in a
30
// context and returns the new context (ctx becomes the parent of newly created
31
// context). Headers care provided as http.Header. Headers that are unset in
32
// `hdrs` are skipped. Empty header names are skipped as well. Headers are
33
// stored using httpheader package specific key namespace.
UNCOV
34
func WithContext(ctx context.Context, hdrs http.Header, which ...string) context.Context {
×
UNCOV
35
        if len(hdrs) == 0 {
×
36
                return ctx
×
37
        }
×
UNCOV
38
        if len(which) == 0 {
×
39
                return ctx
×
40
        }
×
41

UNCOV
42
        for _, h := range which {
×
UNCOV
43
                if h == "" {
×
44
                        continue
×
45
                }
UNCOV
46
                hv := hdrs.Get(h)
×
UNCOV
47
                if hv == "" {
×
UNCOV
48
                        continue
×
49
                }
UNCOV
50
                ctx = context.WithValue(ctx, makeKeyName(h), hdrs.Get(h))
×
51
        }
UNCOV
52
        return ctx
×
53
}
54

55
// FromContext extracts httpheader header and returns a string. If header was
56
// not set in the context, an empty string is returned.
UNCOV
57
func FromContext(ctx context.Context, hdr string) string {
×
UNCOV
58
        v, ok := ctx.Value(makeKeyName(hdr)).(string)
×
UNCOV
59
        if !ok {
×
UNCOV
60
                return ""
×
UNCOV
61
        }
×
UNCOV
62
        return v
×
63
}
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