@@ -24,6 +24,12 @@ func ViewPageHandler(t *Templates, renderer ContentRenderer, pp PageProvider) ht
2424 return func (w http.ResponseWriter , r * http.Request ) {
2525 pageTitle := strings .TrimPrefix (r .URL .Path , "/view/" )
2626
27+ if err := r .ParseForm (); err != nil {
28+ log .Printf ("Error parsing form: %v" , err )
29+ w .WriteHeader (http .StatusInternalServerError )
30+ return
31+ }
32+
2733 revision := r .FormValue ("rev" )
2834 var page * Page
2935 var err error
@@ -74,6 +80,12 @@ func SubmitPageHandler(pe PageEditor) http.HandlerFunc {
7480 return func (writer http.ResponseWriter , request * http.Request ) {
7581 pageTitle := strings .TrimPrefix (request .URL .Path , "/edit/" )
7682
83+ if err := request .ParseForm (); err != nil {
84+ log .Printf ("Error parsing form: %v" , err )
85+ writer .WriteHeader (http .StatusInternalServerError )
86+ return
87+ }
88+
7789 content := request .FormValue ("content" )
7890 message := request .FormValue ("message" )
7991 username := "Anonymoose"
@@ -105,6 +117,13 @@ func DeletePageConfirmHandler(t *Templates) http.HandlerFunc {
105117func DeletePageHandler (provider DeletePageProvider ) http.HandlerFunc {
106118 return func (writer http.ResponseWriter , request * http.Request ) {
107119 name := strings .TrimPrefix (request .URL .Path , "/delete/" )
120+
121+ if err := request .ParseForm (); err != nil {
122+ log .Printf ("Error parsing form: %v" , err )
123+ writer .WriteHeader (http .StatusInternalServerError )
124+ return
125+ }
126+
108127 confirm := request .FormValue ("confirm" )
109128 if confirm == "" {
110129 http .Redirect (writer , request , "/delete/" + name , http .StatusSeeOther )
@@ -142,6 +161,12 @@ func RenamePageConfirmHandler(backend PageExists, t *Templates) http.HandlerFunc
142161
143162func RenamePageHandler (provider RenamePageProvider ) http.HandlerFunc {
144163 return func (writer http.ResponseWriter , request * http.Request ) {
164+ if err := request .ParseForm (); err != nil {
165+ log .Printf ("Error parsing form: %v" , err )
166+ writer .WriteHeader (http .StatusInternalServerError )
167+ return
168+ }
169+
145170 name := strings .TrimPrefix (request .URL .Path , "/rename/" )
146171 newName := request .FormValue ("newName" )
147172 if newName == "" {
@@ -168,6 +193,12 @@ type RevertPageProvider interface {
168193
169194func RevertPageConfirmHandler (t * Templates ) http.HandlerFunc {
170195 return func (w http.ResponseWriter , r * http.Request ) {
196+ if err := r .ParseForm (); err != nil {
197+ log .Printf ("Error parsing form: %v" , err )
198+ w .WriteHeader (http .StatusInternalServerError )
199+ return
200+ }
201+
171202 name := strings .TrimPrefix (r .URL .Path , "/revert/" )
172203 revision := r .FormValue ("rev" )
173204 if revision == "" {
@@ -180,6 +211,12 @@ func RevertPageConfirmHandler(t *Templates) http.HandlerFunc {
180211
181212func RevertPageHandler (provider RevertPageProvider ) http.HandlerFunc {
182213 return func (writer http.ResponseWriter , request * http.Request ) {
214+ if err := request .ParseForm (); err != nil {
215+ log .Printf ("Error parsing form: %v" , err )
216+ writer .WriteHeader (http .StatusInternalServerError )
217+ return
218+ }
219+
183220 name := strings .TrimPrefix (request .URL .Path , "/revert/" )
184221 confirm := request .FormValue ("confirm" )
185222 if confirm == "" {
0 commit comments