MCPcopy Index your code
hub / github.com/ContentSquare/chproxy / getAuth

Function getAuth

utils.go:28–47  ·  view source on GitHub ↗

getAuth retrieves auth credentials from request according to CH documentation @see "https://clickhouse.yandex/docs/en/interfaces/http/"

(req *http.Request)

Source from the content-addressed store, hash-verified

26// getAuth retrieves auth credentials from request
27// according to CH documentation @see "https://clickhouse.yandex/docs/en/interfaces/http/"
28func getAuth(req *http.Request) (string, string) {
29 // check X-ClickHouse- headers
30 name := req.Header.Get("X-ClickHouse-User")
31 pass := req.Header.Get("X-ClickHouse-Key")
32 if name != "" {
33 return name, pass
34 }
35 // if header is empty - check basicAuth
36 if name, pass, ok := req.BasicAuth(); ok {
37 return name, pass
38 }
39 // if basicAuth is empty - check URL params `user` and `password`
40 params := req.URL.Query()
41 if name := params.Get("user"); name != "" {
42 pass := params.Get("password")
43 return name, pass
44 }
45 // if still no credentials - treat it as `default` user request
46 return defaultUser, ""
47}
48
49// getSessionId retrieves session id
50func getSessionId(req *http.Request) string {

Callers 2

getScopeMethod · 0.85

Calls 1

GetMethod · 0.65

Tested by 1