• 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/requestlog/middleware.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 requestlog
15

16
import (
17
        "github.com/ant0ine/go-json-rest/rest"
18
        "github.com/sirupsen/logrus"
19

20
        "github.com/mendersoftware/mender-server/pkg/log"
21
)
22

23
// RequestLogMiddleware creates a per-request logger and sticks it into
24
// http.Request context. The logger will be ready to use in the handler (less
25
// boilerplate). Other middlewares (notably requestid) may add context to the
26
// log. Per-request loggers will by default be derived from the global log.Log,
27
// unless BaseLogger is specified. In that case, it will serve as the root
28
// logger. Additional context can be attached by setting LogContext field.
29
type RequestLogMiddleware struct {
30
        BaseLogger *logrus.Logger
31
        LogContext log.Ctx
32
}
33

34
// MiddlewareFunc makes RequestLogMiddleware implement the Middleware interface.
UNCOV
35
func (mw *RequestLogMiddleware) MiddlewareFunc(h rest.HandlerFunc) rest.HandlerFunc {
×
UNCOV
36
        return func(w rest.ResponseWriter, r *rest.Request) {
×
UNCOV
37
                var l *log.Logger
×
UNCOV
38
                if mw.BaseLogger == nil {
×
UNCOV
39
                        l = log.New(mw.LogContext)
×
UNCOV
40
                } else {
×
41
                        l = log.NewFromLogger(mw.BaseLogger, mw.LogContext)
×
42
                }
×
43

UNCOV
44
                r = SetRequestLogger(r, l)
×
UNCOV
45
                h(w, r)
×
46
        }
47
}
48

49
// GetRequestLogger will return a logger associated with the request.
UNCOV
50
func GetRequestLogger(r *rest.Request) *log.Logger {
×
UNCOV
51
        return log.FromContext(r.Context())
×
UNCOV
52
}
×
53

54
// SetRequestLogger assigns logger l to request r by putting it in request
55
// context.
UNCOV
56
func SetRequestLogger(r *rest.Request, l *log.Logger) *rest.Request {
×
UNCOV
57
        ctx := log.WithContext(r.Context(), l)
×
UNCOV
58
        r.Request = r.Request.WithContext(ctx)
×
UNCOV
59
        return r
×
UNCOV
60
}
×
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