id: 1 unit: func getTemplates() file: templates.go start line: 21 end line: 175 size: 152 LOC McCabe index: 9 number of parameters: 0 id: 2 unit: func() file: options.go start line: 152 end line: 294 size: 123 LOC McCabe index: 36 number of parameters: 1 id: 3 unit: func main() file: main.go start line: 18 end line: 157 size: 123 LOC McCabe index: 12 number of parameters: 0 id: 4 unit: func() file: oauthproxy.go start line: 824 end line: 936 size: 100 LOC McCabe index: 40 number of parameters: 1 id: 5 unit: func NewOAuthProxy() file: oauthproxy.go start line: 177 end line: 269 size: 85 LOC McCabe index: 14 number of parameters: 2 id: 6 unit: func() file: providers/logingov.go start line: 176 end line: 258 size: 70 LOC McCabe index: 10 number of parameters: 1 id: 7 unit: func() file: providers/github.go start line: 129 end line: 199 size: 64 LOC McCabe index: 11 number of parameters: 1 id: 8 unit: func parseProviderInfo() file: options.go start line: 296 end line: 363 size: 63 LOC McCabe index: 18 number of parameters: 2 id: 9 unit: func DecodeSessionState() file: providers/session_state.go start line: 163 end line: 224 size: 57 LOC McCabe index: 17 number of parameters: 2 id: 10 unit: func() file: providers/provider_default.go start line: 16 end line: 79 size: 57 LOC McCabe index: 11 number of parameters: 1 id: 11 unit: func() file: providers/github.go start line: 62 end line: 127 size: 56 LOC McCabe index: 9 number of parameters: 1 id: 12 unit: func() file: providers/google.go start line: 96 end line: 154 size: 55 LOC McCabe index: 8 number of parameters: 1 id: 13 unit: func() file: oauthproxy.go start line: 732 end line: 791 size: 53 LOC McCabe index: 11 number of parameters: 1 id: 14 unit: func() file: providers/github.go start line: 202 end line: 258 size: 48 LOC McCabe index: 14 number of parameters: 1 id: 15 unit: func() file: providers/session_state.go start line: 56 end line: 103 size: 46 LOC McCabe index: 13 number of parameters: 1 id: 16 unit: func() file: providers/google.go start line: 281 end line: 324 size: 40 LOC McCabe index: 6 number of parameters: 1 id: 17 unit: func emailFromUserInfo() file: providers/logingov.go start line: 128 end line: 173 size: 40 LOC McCabe index: 8 number of parameters: 2 id: 18 unit: func() file: logging_handler.go start line: 144 end line: 184 size: 36 LOC McCabe index: 8 number of parameters: 1 id: 19 unit: func() file: providers/github.go start line: 261 end line: 302 size: 34 LOC McCabe index: 6 number of parameters: 1 id: 20 unit: func userInGroup() file: providers/google.go start line: 186 end line: 220 size: 33 LOC McCabe index: 11 number of parameters: 3 id: 21 unit: func checkNonce() file: providers/logingov.go start line: 91 end line: 126 size: 33 LOC McCabe index: 7 number of parameters: 2 id: 22 unit: func legacyDecodeSessionState() file: providers/session_state.go start line: 120 end line: 160 size: 32 LOC McCabe index: 8 number of parameters: 2 id: 23 unit: func() file: providers/oidc.go start line: 95 end line: 132 size: 31 LOC McCabe index: 7 number of parameters: 1 id: 24 unit: func NewLoginGovProvider() file: providers/logingov.go start line: 43 end line: 75 size: 31 LOC McCabe index: 8 number of parameters: 1 id: 25 unit: func WatchForUpdates() file: watcher.go start line: 36 end line: 71 size: 31 LOC McCabe index: 8 number of parameters: 3 id: 26 unit: func() file: providers/azure.go start line: 91 end line: 129 size: 30 LOC McCabe index: 8 number of parameters: 1 id: 27 unit: func newValidatorImpl() file: validator.go start line: 67 end line: 97 size: 29 LOC McCabe index: 8 number of parameters: 4 id: 28 unit: func NewGoogleProvider() file: providers/google.go start line: 33 end line: 65 size: 29 LOC McCabe index: 5 number of parameters: 1 id: 29 unit: func() file: oauthproxy.go start line: 547 end line: 577 size: 29 LOC McCabe index: 3 number of parameters: 1 id: 30 unit: func() file: providers/oidc.go start line: 66 end line: 93 size: 28 LOC McCabe index: 3 number of parameters: 1 id: 31 unit: func NewGitLabProvider() file: providers/gitlab.go start line: 17 end line: 44 size: 28 LOC McCabe index: 8 number of parameters: 1 id: 32 unit: func NewFacebookProvider() file: providers/facebook.go start line: 18 end line: 46 size: 28 LOC McCabe index: 6 number of parameters: 1 id: 33 unit: func NewGitHubProvider() file: providers/github.go start line: 23 end line: 51 size: 28 LOC McCabe index: 8 number of parameters: 1 id: 34 unit: func() file: http.go start line: 67 end line: 100 size: 28 LOC McCabe index: 6 number of parameters: 1 id: 35 unit: func() file: http.go start line: 103 end line: 135 size: 28 LOC McCabe index: 6 number of parameters: 1 id: 36 unit: func NewOptions() file: options.go start line: 114 end line: 139 size: 26 LOC McCabe index: 1 number of parameters: 0 id: 37 unit: func() file: oauthproxy.go start line: 940 end line: 965 size: 26 LOC McCabe index: 8 number of parameters: 1 id: 38 unit: func NewLinkedInProvider() file: providers/linkedin.go start line: 18 end line: 42 size: 25 LOC McCabe index: 6 number of parameters: 1 id: 39 unit: func validateToken() file: providers/internal_util.go start line: 49 end line: 74 size: 24 LOC McCabe index: 6 number of parameters: 3 id: 40 unit: func emailFromIDToken() file: providers/google.go start line: 67 end line: 93 size: 23 LOC McCabe index: 5 number of parameters: 1 id: 41 unit: func splitCookie() file: oauthproxy.go start line: 350 end line: 372 size: 23 LOC McCabe index: 4 number of parameters: 1 id: 42 unit: func Validate() file: cookie/cookies.go start line: 22 end line: 50 size: 23 LOC McCabe index: 7 number of parameters: 3 id: 43 unit: func() file: validator.go start line: 44 end line: 65 size: 22 LOC McCabe index: 4 number of parameters: 1 id: 44 unit: func fetchGroupMembers() file: providers/google.go start line: 227 end line: 248 size: 22 LOC McCabe index: 6 number of parameters: 2 id: 45 unit: func() file: providers/facebook.go start line: 57 end line: 79 size: 22 LOC McCabe index: 5 number of parameters: 1 id: 46 unit: func() file: oauthproxy.go start line: 662 end line: 683 size: 22 LOC McCabe index: 9 number of parameters: 1 id: 47 unit: func NewAzureProvider() file: providers/azure.go start line: 21 end line: 43 size: 21 LOC McCabe index: 6 number of parameters: 1 id: 48 unit: func loadCookie() file: oauthproxy.go start line: 394 end line: 414 size: 21 LOC McCabe index: 5 number of parameters: 2 id: 49 unit: func gcpHealthcheck() file: http.go start line: 33 end line: 64 size: 21 LOC McCabe index: 6 number of parameters: 1 id: 50 unit: func Request() file: api/api.go start line: 14 end line: 34 size: 21 LOC McCabe index: 5 number of parameters: 1 id: 51 unit: func() file: providers/oidc.go start line: 27 end line: 46 size: 20 LOC McCabe index: 3 number of parameters: 1 id: 52 unit: func New() file: providers/providers.go start line: 22 end line: 41 size: 20 LOC McCabe index: 8 number of parameters: 2 id: 53 unit: func stripParam() file: providers/internal_util.go start line: 24 end line: 46 size: 20 LOC McCabe index: 5 number of parameters: 2 id: 54 unit: func() file: oauthproxy.go start line: 295 end line: 316 size: 20 LOC McCabe index: 7 number of parameters: 1 id: 55 unit: func() file: oauthproxy.go start line: 421 end line: 441 size: 20 LOC McCabe index: 4 number of parameters: 1 id: 56 unit: func() file: env_options.go start line: 17 end line: 41 size: 20 LOC McCabe index: 7 number of parameters: 1 id: 57 unit: func parseSignatureKey() file: options.go start line: 365 end line: 385 size: 19 LOC McCabe index: 4 number of parameters: 2 id: 58 unit: func() file: providers/azure.go start line: 46 end line: 65 size: 19 LOC McCabe index: 6 number of parameters: 1 id: 59 unit: func() file: providers/linkedin.go start line: 53 end line: 73 size: 19 LOC McCabe index: 5 number of parameters: 1 id: 60 unit: func() file: oauthproxy.go start line: 617 end line: 635 size: 19 LOC McCabe index: 10 number of parameters: 1 id: 61 unit: func() file: oauthproxy.go start line: 686 end line: 705 size: 19 LOC McCabe index: 4 number of parameters: 1 id: 62 unit: func() file: htpasswd.go start line: 51 end line: 72 size: 19 LOC McCabe index: 7 number of parameters: 1 id: 63 unit: func() file: providers/google.go start line: 258 end line: 279 size: 18 LOC McCabe index: 6 number of parameters: 1 id: 64 unit: func getAdminService() file: providers/google.go start line: 167 end line: 184 size: 17 LOC McCabe index: 4 number of parameters: 2 id: 65 unit: func() file: oauthproxy.go start line: 487 end line: 506 size: 17 LOC McCabe index: 4 number of parameters: 1 id: 66 unit: func() file: oauthproxy.go start line: 805 end line: 821 size: 17 LOC McCabe index: 5 number of parameters: 1 id: 67 unit: func RequestJSON() file: api/api.go start line: 37 end line: 53 size: 17 LOC McCabe index: 4 number of parameters: 2 id: 68 unit: func() file: providers/session_state.go start line: 38 end line: 53 size: 16 LOC McCabe index: 5 number of parameters: 1 id: 69 unit: func NewWebSocketOrRestReverseProxy() file: oauthproxy.go start line: 157 end line: 174 size: 16 LOC McCabe index: 3 number of parameters: 3 id: 70 unit: func() file: oauthproxy.go start line: 273 end line: 289 size: 16 LOC McCabe index: 4 number of parameters: 1 id: 71 unit: func() file: oauthproxy.go start line: 456 end line: 477 size: 16 LOC McCabe index: 5 number of parameters: 1 id: 72 unit: func() file: cookie/cookies.go start line: 110 end line: 128 size: 16 LOC McCabe index: 3 number of parameters: 1 id: 73 unit: func WaitForReplacement() file: watcher.go start line: 16 end line: 33 size: 16 LOC McCabe index: 5 number of parameters: 3 id: 74 unit: func() file: providers/logingov.go start line: 261 end line: 275 size: 15 LOC McCabe index: 1 number of parameters: 1 id: 75 unit: func copyCookie() file: oauthproxy.go start line: 331 end line: 345 size: 15 LOC McCabe index: 1 number of parameters: 1 id: 76 unit: func() file: oauthproxy.go start line: 580 end line: 595 size: 15 LOC McCabe index: 5 number of parameters: 1 id: 77 unit: func() file: oauthproxy.go start line: 714 end line: 728 size: 15 LOC McCabe index: 3 number of parameters: 1 id: 78 unit: func NewHtpasswd() file: htpasswd.go start line: 33 end line: 48 size: 15 LOC McCabe index: 3 number of parameters: 1 id: 79 unit: func NewUserMap() file: validator.go start line: 20 end line: 33 size: 14 LOC McCabe index: 2 number of parameters: 3 id: 80 unit: func() file: providers/gitlab.go start line: 47 end line: 61 size: 14 LOC McCabe index: 3 number of parameters: 1 id: 81 unit: func joinCookies() file: oauthproxy.go start line: 376 end line: 389 size: 14 LOC McCabe index: 4 number of parameters: 1 id: 82 unit: func() file: oauthproxy.go start line: 531 end line: 544 size: 14 LOC McCabe index: 1 number of parameters: 1 id: 83 unit: func() file: oauthproxy.go start line: 599 end line: 614 size: 14 LOC McCabe index: 4 number of parameters: 1 id: 84 unit: func addPadding() file: options.go start line: 395 end line: 407 size: 13 LOC McCabe index: 4 number of parameters: 1 id: 85 unit: func() file: providers/provider_default.go start line: 82 end line: 94 size: 13 LOC McCabe index: 1 number of parameters: 1 id: 86 unit: func getEmailFromJSON() file: providers/azure.go start line: 73 end line: 88 size: 13 LOC McCabe index: 4 number of parameters: 1 id: 87 unit: func() file: oauthproxy.go start line: 968 end line: 980 size: 13 LOC McCabe index: 4 number of parameters: 1 id: 88 unit: func() file: providers/oidc.go start line: 50 end line: 64 size: 12 LOC McCabe index: 5 number of parameters: 1 id: 89 unit: func() file: logging_handler.go start line: 47 end line: 58 size: 12 LOC McCabe index: 3 number of parameters: 1 id: 90 unit: func() file: oauthproxy.go start line: 108 end line: 120 size: 12 LOC McCabe index: 5 number of parameters: 1 id: 91 unit: func loadTemplates() file: templates.go start line: 9 end line: 19 size: 11 LOC McCabe index: 3 number of parameters: 1 id: 92 unit: func() file: logging_handler.go start line: 130 end line: 139 size: 10 LOC McCabe index: 2 number of parameters: 1 id: 93 unit: func() file: oauthproxy.go start line: 320 end line: 329 size: 10 LOC McCabe index: 3 number of parameters: 1 id: 94 unit: func checkHmac() file: cookie/cookies.go start line: 71 end line: 80 size: 10 LOC McCabe index: 3 number of parameters: 2 id: 95 unit: func() file: cookie/cookies.go start line: 97 end line: 107 size: 10 LOC McCabe index: 2 number of parameters: 1 id: 96 unit: func legacyDecodeSessionStatePlain() file: providers/session_state.go start line: 106 end line: 116 size: 9 LOC McCabe index: 2 number of parameters: 1 id: 97 unit: func() file: logging_handler.go start line: 61 end line: 70 size: 9 LOC McCabe index: 2 number of parameters: 1 id: 98 unit: func setProxyUpstreamHostHeader() file: oauthproxy.go start line: 130 end line: 139 size: 9 LOC McCabe index: 1 number of parameters: 2 id: 99 unit: func() file: oauthproxy.go start line: 644 end line: 652 size: 9 LOC McCabe index: 3 number of parameters: 1 id: 100 unit: func() file: http.go start line: 145 end line: 153 size: 9 LOC McCabe index: 2 number of parameters: 1 id: 101 unit: func cookieSignature() file: cookie/cookies.go start line: 61 end line: 69 size: 9 LOC McCabe index: 2 number of parameters: 1 id: 102 unit: func Nonce() file: cookie/nonce.go start line: 9 end line: 17 size: 9 LOC McCabe index: 2 number of parameters: 0 id: 103 unit: func parseURL() file: options.go start line: 141 end line: 148 size: 8 LOC McCabe index: 2 number of parameters: 3 id: 104 unit: func() file: providers/oidc.go start line: 135 end line: 143 size: 8 LOC McCabe index: 2 number of parameters: 1 id: 105 unit: func LoggingHandler() file: logging_handler.go start line: 121 end line: 128 size: 8 LOC McCabe index: 1 number of parameters: 4 id: 106 unit: func setProxyDirector() file: oauthproxy.go start line: 141 end line: 149 size: 8 LOC McCabe index: 1 number of parameters: 1 id: 107 unit: func() file: oauthproxy.go start line: 509 end line: 516 size: 8 LOC McCabe index: 2 number of parameters: 1 id: 108 unit: func() file: oauthproxy.go start line: 794 end line: 801 size: 8 LOC McCabe index: 2 number of parameters: 1 id: 109 unit: func NewHtpasswdFromFile() file: htpasswd.go start line: 23 end line: 30 size: 8 LOC McCabe index: 2 number of parameters: 1 id: 110 unit: func RequestUnparsedResponse() file: api/api.go start line: 56 end line: 64 size: 8 LOC McCabe index: 2 number of parameters: 2 id: 111 unit: func validateCookieName() file: options.go start line: 387 end line: 393 size: 7 LOC McCabe index: 2 number of parameters: 2 id: 112 unit: func secretBytes() file: options.go start line: 410 end line: 416 size: 7 LOC McCabe index: 2 number of parameters: 1 id: 113 unit: func getLinkedInHeader() file: providers/linkedin.go start line: 44 end line: 50 size: 7 LOC McCabe index: 1 number of parameters: 1 id: 114 unit: func randSeq() file: providers/logingov.go start line: 34 end line: 40 size: 7 LOC McCabe index: 2 number of parameters: 1 id: 115 unit: func getFacebookHeader() file: providers/facebook.go start line: 48 end line: 54 size: 7 LOC McCabe index: 1 number of parameters: 1 id: 116 unit: func() file: providers/github.go start line: 54 end line: 60 size: 7 LOC McCabe index: 3 number of parameters: 1 id: 117 unit: func getRemoteAddr() file: oauthproxy.go start line: 654 end line: 660 size: 7 LOC McCabe index: 2 number of parameters: 1 id: 118 unit: func() file: http.go start line: 19 end line: 25 size: 7 LOC McCabe index: 3 number of parameters: 1 id: 119 unit: func SignedValue() file: cookie/cookies.go start line: 53 end line: 59 size: 7 LOC McCabe index: 1 number of parameters: 4 id: 120 unit: func NewCipher() file: cookie/cookies.go start line: 88 end line: 94 size: 7 LOC McCabe index: 2 number of parameters: 1 id: 121 unit: func() file: providers/session_state.go start line: 30 end line: 35 size: 6 LOC McCabe index: 3 number of parameters: 1 id: 122 unit: func() file: providers/google.go start line: 160 end line: 165 size: 6 LOC McCabe index: 1 number of parameters: 1 id: 123 unit: func() file: logging_handler.go start line: 38 end line: 43 size: 6 LOC McCabe index: 2 number of parameters: 1 id: 124 unit: func() file: validator.go start line: 36 end line: 40 size: 5 LOC McCabe index: 1 number of parameters: 1 id: 125 unit: func getAzureHeader() file: providers/azure.go start line: 67 end line: 71 size: 5 LOC McCabe index: 1 number of parameters: 1 id: 126 unit: func() file: logging_handler.go start line: 73 end line: 77 size: 5 LOC McCabe index: 1 number of parameters: 1 id: 127 unit: func() file: logging_handler.go start line: 89 end line: 93 size: 5 LOC McCabe index: 2 number of parameters: 1 id: 128 unit: func NewReverseProxy() file: oauthproxy.go start line: 124 end line: 128 size: 5 LOC McCabe index: 1 number of parameters: 2 id: 129 unit: func() file: oauthproxy.go start line: 480 end line: 484 size: 5 LOC McCabe index: 2 number of parameters: 1 id: 130 unit: func NewOIDCProvider() file: providers/oidc.go start line: 21 end line: 24 size: 4 LOC McCabe index: 1 number of parameters: 1 id: 131 unit: func fetchUser() file: providers/google.go start line: 222 end line: 225 size: 4 LOC McCabe index: 1 number of parameters: 2 id: 132 unit: func() file: oauthproxy.go start line: 519 end line: 522 size: 4 LOC McCabe index: 1 number of parameters: 1 id: 133 unit: func() file: oauthproxy.go start line: 525 end line: 528 size: 4 LOC McCabe index: 1 number of parameters: 1 id: 134 unit: func() file: oauthproxy.go start line: 638 end line: 641 size: 4 LOC McCabe index: 3 number of parameters: 1 id: 135 unit: func() file: oauthproxy.go start line: 708 end line: 711 size: 4 LOC McCabe index: 1 number of parameters: 1 id: 136 unit: func() file: oauthproxy.go start line: 983 end line: 986 size: 4 LOC McCabe index: 1 number of parameters: 1 id: 137 unit: func WatchForUpdates() file: watcher_unsupported.go start line: 9 end line: 12 size: 4 LOC McCabe index: 1 number of parameters: 3 id: 138 unit: func() file: string_array.go start line: 16 end line: 19 size: 4 LOC McCabe index: 1 number of parameters: 1 id: 139 unit: func NewValidator() file: validator.go start line: 100 end line: 102 size: 3 LOC McCabe index: 1 number of parameters: 2 id: 140 unit: func() file: providers/provider_default.go start line: 97 end line: 99 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 141 unit: func() file: providers/provider_default.go start line: 102 end line: 104 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 142 unit: func() file: providers/provider_default.go start line: 107 end line: 109 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 143 unit: func() file: providers/provider_default.go start line: 112 end line: 114 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 144 unit: func() file: providers/provider_default.go start line: 118 end line: 120 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 145 unit: func() file: providers/provider_default.go start line: 123 end line: 125 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 146 unit: func() file: providers/provider_default.go start line: 129 end line: 131 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 147 unit: func() file: providers/google.go start line: 252 end line: 254 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 148 unit: func() file: providers/linkedin.go start line: 76 end line: 78 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 149 unit: func() file: providers/facebook.go start line: 82 end line: 84 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 150 unit: func stripToken() file: providers/internal_util.go start line: 14 end line: 16 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 151 unit: func() file: logging_handler.go start line: 33 end line: 35 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 152 unit: func() file: logging_handler.go start line: 80 end line: 82 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 153 unit: func() file: logging_handler.go start line: 85 end line: 87 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 154 unit: func NewFileServer() file: oauthproxy.go start line: 152 end line: 154 size: 3 LOC McCabe index: 1 number of parameters: 2 id: 155 unit: func() file: oauthproxy.go start line: 291 end line: 293 size: 3 LOC McCabe index: 2 number of parameters: 1 id: 156 unit: func() file: oauthproxy.go start line: 417 end line: 419 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 157 unit: func() file: oauthproxy.go start line: 445 end line: 447 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 158 unit: func() file: oauthproxy.go start line: 450 end line: 452 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 159 unit: func() file: string_array.go start line: 11 end line: 13 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 160 unit: func() file: string_array.go start line: 22 end line: 24 size: 3 LOC McCabe index: 1 number of parameters: 1 id: 161 unit: func() file: providers/provider_data.go start line: 23 end line: 23 size: 1 LOC McCabe index: 1 number of parameters: 1