MCPcopy
hub / github.com/ContainerSSH/ContainerSSH / ServeHTTP

Method ServeHTTP

internal/auth/oauth2_factory.go:27–60  ·  view source on GitHub ↗
(writer goHttp.ResponseWriter, request *goHttp.Request)

Source from the content-addressed store, hash-verified

25}
26
27func (o oauthEndpointHandler) ServeHTTP(writer goHttp.ResponseWriter, request *goHttp.Request) {
28 if request.URL.Path != "/" {
29 o.handler.ServeHTTP(writer, request)
30 return
31 }
32 index, err := o.backend.Open("/index.html")
33 if err != nil {
34 writer.WriteHeader(500)
35 panic(err)
36 }
37 defer func() {
38 _ = index.Close()
39 }()
40 data, err := io.ReadAll(index)
41 if err != nil {
42 writer.WriteHeader(500)
43 panic(err)
44 }
45 tpl := template.New("index.html")
46 tpl, err = tpl.Parse(string(data))
47 if err != nil {
48 panic(err)
49 }
50 query := request.URL.Query()
51 state := query.Get("state")
52 code := query.Get("code")
53 writer.WriteHeader(200)
54 writer.Header().Set("Content-Type", "text/html;charset=utf-8")
55 if err := tpl.Execute(writer, templatedata{
56 Code: state + "|" + code,
57 }); err != nil {
58 panic(err)
59 }
60}
61
62func NewOAuth2Client(cfg config.AuthOAuth2ClientConfig, logger log.Logger, collector metrics.Collector) (
63 KeyboardInteractiveAuthenticator,

Callers

nothing calls this directly

Calls 3

CloseMethod · 0.65
GetMethod · 0.65
SetMethod · 0.65

Tested by

no test coverage detected