app: return better error responses for /share

Updates golang/go#16617.

Change-Id: I8a38f153588892b29a1e0541a0ae8a16d7e9280f
Reviewed-on: https://go-review.googlesource.com/25541
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/app/goplay/share.go b/app/goplay/share.go
index fc0fe3e..801751c 100644
--- a/app/goplay/share.go
+++ b/app/goplay/share.go
@@ -39,8 +39,14 @@
 }
 
 func share(w http.ResponseWriter, r *http.Request) {
-	if !allowShare(r) || r.Method != "POST" {
-		http.Error(w, "Forbidden", http.StatusForbidden)
+	if r.Method != "POST" {
+		status := http.StatusMethodNotAllowed
+		http.Error(w, http.StatusText(status), status)
+		return
+	}
+	if !allowShare(r) {
+		status := http.StatusUnavailableForLegalReasons
+		http.Error(w, http.StatusText(status), status)
 		return
 	}
 	c := appengine.NewContext(r)