https://github.com/mwat56/errorhandler
A provider of customised error pages for Go web-server HTTP errors
https://github.com/mwat56/errorhandler
error-page golang golang-package middleware website
Last synced: 5 months ago
JSON representation
A provider of customised error pages for Go web-server HTTP errors
- Host: GitHub
- URL: https://github.com/mwat56/errorhandler
- Owner: mwat56
- License: gpl-3.0
- Created: 2019-05-02T17:41:49.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2025-03-24T17:00:40.000Z (over 1 year ago)
- Last Synced: 2025-03-24T18:21:38.675Z (over 1 year ago)
- Topics: error-page, golang, golang-package, middleware, website
- Language: Go
- Homepage:
- Size: 37.1 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# ErrorHandler
[](https://golang.org/)
[](https://godoc.org/github.com/mwat56/errorhandler/)
[](https://goreportcard.com/report/github.com/mwat56/errorhandler)
[](https://github.com/mwat56/errorhandler/issues?q=is%3Aopen+is%3Aissue)
[](https://github.com/mwat56/errorhandler/)
[](https://github.com/mwat56/errorhandler/tags)
[](https://github.com/mwat56/errorhandler/blob/main/LICENSE)
[](https://github.com/mwat56/errorhandler/blob/main/cmd/demo.go)
- [ErrorHandler](#errorhandler)
- [Purpose](#purpose)
- [Installation](#installation)
- [Usage](#usage)
- [Libraries](#libraries)
- [Licence](#licence)
----
## Purpose
The out-of-the-box `Go` web-server send _plain text error messages_ whenever an `HTTP` error occurs.
This middleware package provides a simple facility to send whatever `HTML` page you like for error-pages.
## Installation
You can use `Go` to install this package for you:
go get -u github.com/mwat56/errorhandler
## Usage
This package defines the `TErrorPager` interface which requires just one method:
TErrorPager interface {
// GetErrorPage returns an error page for `aStatus`.
//
// `aData` is the original error text.
//
// `aStatus` is the error number of the actual HTTP error.
GetErrorPage(aData []byte, aStatus int) []byte
}
If the method's return value is _empty_ then `aData` is sent _as is_ to the remote user, otherwise the method's result is sent thus delighting your users with your customised page.
Once you've implemented such a method you call the package's `Wrap()` function:
Wrap(aHandler http.Handler, aPager TErrorPager) http.Handler
The arguments are:
* `aHandler` is your original HTTP handler which will be wrapped by this package (and used internally).
* `aPager` is the provider of error message pages as discussed above.
In the sub-directory `./cmd` there is the file `demo.go` which shows the bare minimum of how to integrate this package with your web-server.
## Libraries
No external libraries were used building `ErrorHandler`.
## Licence
Copyright © 2019, 2025 M.Watermann, 10247 Berlin, Germany
All rights reserved
EMail :
> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
>
> This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> You should have received a copy of the GNU General Public License along with this program. If not, see the [GNU General Public License](http://www.gnu.org/licenses/gpl.html) for details.
----
[](http://www.gnu.org/copyleft/fdl.html)