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