aboutsummaryrefslogtreecommitdiff
path: root/doc/progs/error4.go
diff options
context:
space:
mode:
Diffstat (limited to 'doc/progs/error4.go')
-rw-r--r--doc/progs/error4.go74
1 files changed, 0 insertions, 74 deletions
diff --git a/doc/progs/error4.go b/doc/progs/error4.go
deleted file mode 100644
index 8b2f3049de..0000000000
--- a/doc/progs/error4.go
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2011 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file contains the code snippets included in "Error Handling and Go."
-
-package main
-
-import (
- "net/http"
- "text/template"
-)
-
-type appError struct {
- Error error
- Message string
- Code int
-}
-
-// STOP OMIT
-
-type appHandler func(http.ResponseWriter, *http.Request) *appError
-
-func (fn appHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
- if e := fn(w, r); e != nil { // e is *appError, not error.
- c := appengine.NewContext(r)
- c.Errorf("%v", e.Error)
- http.Error(w, e.Message, e.Code)
- }
-}
-
-// STOP OMIT
-
-func viewRecord(w http.ResponseWriter, r *http.Request) *appError {
- c := appengine.NewContext(r)
- key := datastore.NewKey(c, "Record", r.FormValue("id"), 0, nil)
- record := new(Record)
- if err := datastore.Get(c, key, record); err != nil {
- return &appError{err, "Record not found", 404}
- }
- if err := viewTemplate.Execute(w, record); err != nil {
- return &appError{err, "Can't display record", 500}
- }
- return nil
-}
-
-// STOP OMIT
-
-func init() {
- http.Handle("/view", appHandler(viewRecord))
-}
-
-type ap struct{}
-
-func (ap) NewContext(*http.Request) *ctx { return nil }
-
-type ctx struct{}
-
-func (*ctx) Errorf(string, ...interface{}) {}
-
-var appengine ap
-
-type ds struct{}
-
-func (ds) NewKey(*ctx, string, string, int, *int) string { return "" }
-func (ds) Get(*ctx, string, *Record) error { return nil }
-
-var datastore ds
-
-type Record struct{}
-
-var viewTemplate *template.Template
-
-func main() {}