func (rh *RootHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request) { if wantsDiscovery(req) { if auth.Allowed(req, auth.OpDiscovery) { rh.serveDiscovery(rw, req) return } if !rh.Stealth { http.Error(rw, "Unauthorized", http.StatusUnauthorized) } return } if rh.Stealth { return } if req.URL.Path == "/favicon.ico" { serveStaticFile(rw, req, Files, "favicon.ico") return } configLink := "" if auth.IsLocalhost(req) && !isDevServer() { configLink = "<p>If you're coming from localhost, configure your Camlistore server at <a href='/setup'>/setup</a>.</p>" } fmt.Fprintf(rw, "<html><body>This is camlistored, a "+ "<a href='http://camlistore.org'>Camlistore</a> server."+ "%s"+ "<p>To manage your content, access the <a href='/ui/'>/ui/</a>.</p></body></html>\n", configLink) }
func (sh *SetupHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request) { if !auth.IsLocalhost(req) { fmt.Fprintf(rw, "<html><body>Setup only allowed from localhost"+ "<p><a href='/'>Back</a></p>"+ "</body></html>\n") return } http.Redirect(rw, req, "http://camlistore.org/docs/server-config", http.StatusMovedPermanently) return // TODO: this file and the code in wizard-html.go is outdated. Anyone interested enough // can take care of updating it as something nicer which would fit better with the // react UI. But in the meantime we don't link to it anymore. if req.Method == "POST" { err := req.ParseMultipartForm(10e6) if err != nil { httputil.ServeError(rw, req, err) return } if len(req.Form) > 0 { handleSetupChange(rw, req) } return } sendWizard(rw, req, false) }
func (rh *RootHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request) { if wantsDiscovery(req) { if auth.Allowed(req, auth.OpDiscovery) { rh.serveDiscovery(rw, req) return } if !rh.Stealth { http.Error(rw, "Unauthorized", http.StatusUnauthorized) } return } if rh.Stealth { return } if req.URL.Path == "/favicon.ico" { serveStaticFile(rw, req, Files, "favicon.ico") return } f := func(p string, a ...interface{}) { fmt.Fprintf(rw, p, a...) } f("<html><body><p>This is camlistored (%s), a "+ "<a href='http://camlistore.org'>Camlistore</a> server.</p>", buildinfo.Version()) if auth.IsLocalhost(req) && !isDevServer() { f("<p>If you're coming from localhost, configure your Camlistore server at <a href='/setup'>/setup</a>.</p>") } if rh.ui != nil { f("<p>To manage your content, access the <a href='%s'>%s</a>.</p>", rh.ui.prefix, rh.ui.prefix) } if rh.statusRoot != "" { f("<p>To view status, see <a href='%s'>%s</a>", rh.statusRoot, rh.statusRoot) } fmt.Fprintf(rw, "</body></html>") }
func (sh *SetupHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request) { if !auth.IsLocalhost(req) { fmt.Fprintf(rw, "<html><body>Setup only allowed from localhost"+ "<p><a href='/'>Back</a></p>"+ "</body></html>\n") return } if req.Method == "POST" { err := req.ParseMultipartForm(10e6) if err != nil { httputil.ServerError(rw, req, err) return } if len(req.Form) > 0 { handleSetupChange(rw, req) return } if strings.Contains(req.URL.Path, "restartCamli") { err = osutil.RestartProcess() if err != nil { log.Fatal("Failed to restart: " + err.Error()) } } } sendWizard(rw, req, false) }
func (rh *RootHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request) { if wantsDiscovery(req) { // TODO(mpl): an OpDiscovery would be more to the point, // but OpGet is similar/good enough for now. if auth.Allowed(req, auth.OpGet) { rh.serveDiscovery(rw, req) return } if !rh.Stealth { http.Error(rw, "Unauthorized", http.StatusUnauthorized) } return } if rh.Stealth { return } configLink := "" if auth.IsLocalhost(req) { configLink = "<p>If you're coming from localhost, hit <a href='/setup'>/setup</a>.</p>" } fmt.Fprintf(rw, "<html><body>This is camlistored, a "+ "<a href='http://camlistore.org'>Camlistore</a> server."+ "%s</body></html>\n", configLink) }
func ServeError(conn http.ResponseWriter, req *http.Request, err error) { conn.WriteHeader(http.StatusInternalServerError) if auth.IsLocalhost(req) { fmt.Fprintf(conn, "Server error: %s\n", err) return } fmt.Fprintf(conn, "An internal error occured, sorry.") }
func (sh *SetupHandler) ServeHTTP(rw http.ResponseWriter, req *http.Request) { if !auth.IsLocalhost(req) { fmt.Fprintf(rw, "<html><body>Setup only allowed from localhost"+ "<p><a href='/'>Back</a></p>"+ "</body></html>\n") return } if req.Method == "POST" { err := req.ParseMultipartForm(10e6) if err != nil { httputil.ServeError(rw, req, err) return } if len(req.Form) > 0 { handleSetupChange(rw, req) } return } sendWizard(rw, req, false) }