Skip to content

mwat56/errorhandler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ErrorHandler

Golang GoDoc Go Report Issues Size Tag License View examples


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, 2022 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.


About

A provider of customised error pages for Go web-server HTTP errors

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages