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

Waffle / waffle / 6516

11 Mar 2026 12:15AM UTC coverage: 46.217%. Remained the same
6516

push

github

web-flow
Update dependency org.eclipse.jdt:ecj to v3.45.0

276 of 734 branches covered (37.6%)

Branch coverage included in aggregate %.

1019 of 2068 relevant lines covered (49.27%)

1.0 hits per line

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

38.71
/Source/JNA/waffle-jna/src/main/java/waffle/servlet/CorsAwareNegotiateSecurityFilter.java
1
/*
2
 * SPDX-License-Identifier: MIT
3
 * See LICENSE file for details.
4
 *
5
 * Copyright 2010-2026 The Waffle Project Contributors: https://github.com/Waffle/waffle/graphs/contributors
6
 */
7
package waffle.servlet;
8

9
import java.io.IOException;
10

11
import javax.servlet.Filter;
12
import javax.servlet.FilterChain;
13
import javax.servlet.FilterConfig;
14
import javax.servlet.ServletException;
15
import javax.servlet.ServletRequest;
16
import javax.servlet.ServletResponse;
17
import javax.servlet.http.HttpServletRequest;
18

19
import org.slf4j.Logger;
20
import org.slf4j.LoggerFactory;
21

22
import waffle.util.AuthorizationHeader;
23
import waffle.util.CorsPreFlightCheck;
24

25
/**
26
 * The Class CorsAwareNegotiateSecurityFilter.
27
 */
28
public class CorsAwareNegotiateSecurityFilter extends NegotiateSecurityFilter implements Filter {
29

30
    /** The Constant LOGGER. */
31
    private static final Logger LOGGER = LoggerFactory.getLogger(CorsAwareNegotiateSecurityFilter.class);
2✔
32

33
    /**
34
     * Instantiates a new negotiate security filter.
35
     */
36
    public CorsAwareNegotiateSecurityFilter() {
2✔
37
        CorsAwareNegotiateSecurityFilter.LOGGER.info("[waffle.servlet.CorsAwareNegotiateSecurityFilter] loaded");
2✔
38
    }
2✔
39

40
    @Override
41
    public void init(final FilterConfig filterConfig) throws ServletException {
42
        CorsAwareNegotiateSecurityFilter.LOGGER.info("[waffle.servlet.CorsAwareNegotiateSecurityFilter] Starting");
×
43
        super.init(filterConfig);
×
44
        CorsAwareNegotiateSecurityFilter.LOGGER.info("[waffle.servlet.CorsAwareNegotiateSecurityFilter] Started");
×
45
    }
×
46

47
    @Override
48
    public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain)
49
            throws IOException, ServletException {
50

51
        CorsAwareNegotiateSecurityFilter.LOGGER.info("[waffle.servlet.CorsAwareNegotiateSecurityFilter] Filtering");
2✔
52

53
        final HttpServletRequest httpServletRequest = (HttpServletRequest) request;
2✔
54
        final AuthorizationHeader authorizationHeader = new AuthorizationHeader(httpServletRequest);
2✔
55

56
        if (CorsPreFlightCheck.isPreflight(httpServletRequest)) {
2!
57
            CorsAwareNegotiateSecurityFilter.LOGGER.info(
2✔
58
                    "[waffle.servlet.CorsAwareNegotiateSecurityFilter] Request is CORS preflight; continue filter chain");
59
            chain.doFilter(request, response);
2✔
60
        } else if (authorizationHeader.isBearerAuthorizationHeader()) {
×
61
            CorsAwareNegotiateSecurityFilter.LOGGER
×
62
                    .info("[waffle.servlet.CorsAwareNegotiateSecurityFilter] Request is Bearer, continue filter chain");
×
63
            chain.doFilter(request, response);
×
64
        } else {
65
            CorsAwareNegotiateSecurityFilter.LOGGER
×
66
                    .info("[waffle.servlet.CorsAwareNegotiateSecurityFilter] Request is Not CORS preflight");
×
67

68
            super.doFilter(request, response, chain);
×
69

70
            CorsAwareNegotiateSecurityFilter.LOGGER
×
71
                    .info("[waffle.servlet.CorsAwareNegotiateSecurityFilter] Authentication Completed");
×
72
        }
73
    }
2✔
74

75
    @Override
76
    public void destroy() {
77
        super.destroy();
×
78
        CorsAwareNegotiateSecurityFilter.LOGGER.info("[waffle.servlet.CorsAwareNegotiateSecurityFilter] unloaded");
×
79
    }
×
80

81
}
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

© 2026 Coveralls, Inc