gosora/src/errors.go

139 lines
4.0 KiB
Go
Raw Normal View History

2016-12-02 07:38:54 +00:00
package main
import "fmt"
2016-12-02 07:38:54 +00:00
import "log"
import "bytes"
import "net/http"
func InternalError(err error, w http.ResponseWriter, r *http.Request, user User) {
log.Fatal(err)
pi := Page{"Internal Server Error","error",user,tList,"A problem has occured in the system."}
var b bytes.Buffer
templates.ExecuteTemplate(&b,"error.html", pi)
errpage := b.String()
w.WriteHeader(500)
fmt.Fprintln(w,errpage)
2016-12-02 07:38:54 +00:00
}
func InternalErrorJSQ(err error, w http.ResponseWriter, r *http.Request, user User, is_js string) {
log.Fatal(err)
errmsg := "A problem has occured in the system."
if is_js == "0" {
pi := Page{"Internal Server Error","error",user,tList,errmsg}
var b bytes.Buffer
templates.ExecuteTemplate(&b,"error.html", pi)
errpage := b.String()
w.WriteHeader(500)
fmt.Fprintln(w,errpage)
2016-12-02 07:38:54 +00:00
} else {
http.Error(w,"{'errmsg': '" + errmsg + "'}",500)
}
}
func LocalError(errmsg string, w http.ResponseWriter, r *http.Request, user User) {
pi := Page{"Local Error","error",user,tList,errmsg}
var b bytes.Buffer
templates.ExecuteTemplate(&b,"error.html", pi)
errpage := b.String()
w.WriteHeader(500)
fmt.Fprintln(w,errpage)
2016-12-02 07:38:54 +00:00
}
func LoginRequired(w http.ResponseWriter, r *http.Request, user User) {
errmsg := "You need to login to do that."
pi := Page{"Local Error","error",user,tList,errmsg}
var b bytes.Buffer
templates.ExecuteTemplate(&b,"error.html", pi)
errpage := b.String()
w.WriteHeader(401)
fmt.Fprintln(w,errpage)
2016-12-02 07:38:54 +00:00
}
func LocalErrorJSQ(errmsg string, w http.ResponseWriter, r *http.Request, user User, is_js string) {
if is_js == "0" {
pi := Page{"Local Error","error",user,tList,errmsg}
var b bytes.Buffer
templates.ExecuteTemplate(&b,"error.html", pi)
errpage := b.String()
w.WriteHeader(500)
fmt.Fprintln(w,errpage)
2016-12-02 07:38:54 +00:00
} else {
http.Error(w,"{'errmsg': '" + errmsg + "'}",500)
}
}
func NoPermissions(w http.ResponseWriter, r *http.Request, user User) {
errmsg := "You don't have permission to do that."
pi := Page{"Local Error","error",user,tList,errmsg}
var b bytes.Buffer
templates.ExecuteTemplate(&b,"error.html", pi)
errpage := b.String()
w.WriteHeader(403)
fmt.Fprintln(w,errpage)
}
2016-12-02 07:38:54 +00:00
func NoPermissionsJSQ(w http.ResponseWriter, r *http.Request, user User, is_js string) {
errmsg := "You don't have permission to do that."
if is_js == "0" {
pi := Page{"Local Error","error",user,tList,errmsg}
var b bytes.Buffer
templates.ExecuteTemplate(&b,"error.html", pi)
errpage := b.String()
w.WriteHeader(403)
fmt.Fprintln(w,errpage)
} else {
http.Error(w,"{'errmsg': '" + errmsg + "'}",403)
}
}
func Banned(w http.ResponseWriter, r *http.Request, user User) {
errmsg := "You have been banned, thus you do not permission to do that."
pi := Page{"Local Error","error",user,tList,errmsg}
var b bytes.Buffer
templates.ExecuteTemplate(&b,"error.html", pi)
errpage := b.String()
w.WriteHeader(403)
fmt.Fprintln(w,errpage)
}
func BannedJSQ(w http.ResponseWriter, r *http.Request, user User, is_js string) {
errmsg := "You have been banned from this site."
if is_js == "0" {
pi := Page{"Local Error","error",user,tList,errmsg}
var b bytes.Buffer
2016-12-02 07:38:54 +00:00
templates.ExecuteTemplate(&b,"error.html", pi)
errpage := b.String()
w.WriteHeader(403)
fmt.Fprintln(w,errpage)
2016-12-02 07:38:54 +00:00
} else {
http.Error(w,"{'errmsg': '" + errmsg + "'}",403)
}
}
func LoginRequiredJSQ(w http.ResponseWriter, r *http.Request, user User, is_js string) {
errmsg := "You need to login to do that."
if is_js == "0" {
pi := Page{"Local Error","error",user,tList,errmsg}
var b bytes.Buffer
templates.ExecuteTemplate(&b,"error.html", pi)
errpage := b.String()
w.WriteHeader(401)
fmt.Fprintln(w,errpage)
2016-12-02 07:38:54 +00:00
} else {
http.Error(w,"{'errmsg': '" + errmsg + "'}",401)
}
}
func CustomErrorJSQ(errmsg string, errcode int, errtitle string, w http.ResponseWriter, r *http.Request, user User, is_js string) {
if is_js == "0" {
pi := Page{errtitle,"error",user,tList,errmsg}
var b bytes.Buffer
templates.ExecuteTemplate(&b,"error.html", pi)
errpage := b.String()
w.WriteHeader(500)
fmt.Fprintln(w,errpage)
2016-12-02 07:38:54 +00:00
} else {
http.Error(w,"{'errmsg': '" + errmsg + "'}",500)
}
}