1
0
mirror of https://github.com/golang/go synced 2024-09-24 09:20:15 -06:00

cmd/godoc: inform users that the playground doesn't work via local godoc

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5843065
This commit is contained in:
Andrew Gerrand 2012-03-20 14:11:38 +11:00
parent 58aac1d0ff
commit abdb4dbe2c
2 changed files with 21 additions and 4 deletions

View File

@ -166,10 +166,13 @@ function playground(opts) {
}
pre.text(out);
},
error: function() {
output.addClass("error").text(
"Error communicating with remote server."
);
error: function(xhr) {
var text = "Error communicating with remote server.";
console.log(xhr.status);
if (xhr.status == 501) {
text = xhr.responseText;
}
output.addClass("error").text(text);
}
});
}
@ -190,6 +193,10 @@ function playground(opts) {
type: "POST",
complete: function(xhr) {
sharing = false;
if (xhr.status == 501) {
alert(xhr.responseText);
return;
}
if (xhr.status != 200) {
alert("Server error; try again.");
return;

View File

@ -274,6 +274,10 @@ func main() {
registerPublicHandlers(http.DefaultServeMux)
// Playground handlers are not available in local godoc.
http.HandleFunc("/compile", disabledHandler)
http.HandleFunc("/share", disabledHandler)
// Initialize default directory tree with corresponding timestamp.
// (Do it in a goroutine so that launch is quick.)
go initFSTree()
@ -450,3 +454,9 @@ type httpWriter struct {
func (w *httpWriter) Header() http.Header { return w.h }
func (w *httpWriter) WriteHeader(code int) { w.code = code }
// disabledHandler serves a 501 "Not Implemented" response.
func disabledHandler(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNotImplemented)
fmt.Fprint(w, "This functionality is not available via local godoc.")
}