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

mendersoftware / mender-server / 1833359013

23 May 2025 01:25PM UTC coverage: 66.318% (+0.5%) from 65.861%
1833359013

Pull #674

gitlab-ci

mzedel
fix(gui): prevented device tag editor to be shown when no tags exist

- this is to reduce confusion about tags defined async to the current session not being visible

Ticket: ME-528
Signed-off-by: Manuel Zedel <manuel.zedel@northern.tech>
Pull Request #674: ME-529, ME-528 - adjustments to device tag editing

29554 of 44564 relevant lines covered (66.32%)

1.45 hits per line

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

88.89
/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.
35
func (mw *RequestLogMiddleware) MiddlewareFunc(h rest.HandlerFunc) rest.HandlerFunc {
5✔
36
        return func(w rest.ResponseWriter, r *rest.Request) {
10✔
37
                var l *log.Logger
5✔
38
                if mw.BaseLogger == nil {
10✔
39
                        l = log.New(mw.LogContext)
5✔
40
                } else {
5✔
41
                        l = log.NewFromLogger(mw.BaseLogger, mw.LogContext)
×
42
                }
×
43

44
                r = SetRequestLogger(r, l)
5✔
45
                h(w, r)
5✔
46
        }
47
}
48

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

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