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.
You can use Go
to install this package for you:
go get -u github.com/mwat56/errorhandler
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.
No external libraries were used building ErrorHandler
.
Copyright © 2019, 2024 M.Watermann, 10247 Berlin, Germany
All rights reserved
EMail : <support@mwat.de>
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 for details.