Documentation
¶
Overview ¶
`go-http-bootstrap` is an HTTP middleware package for including Bootstrap.js assets in web applications. It exports two principal methods:
* `bootstrap.AppendAssetHandlers(*http.ServeMux)` which is used to append HTTP handlers to a `http.ServeMux` instance for serving Bootstrap CSS and JavaScript files, and related assets. * `bootstrap.AppendResourcesHandler(http.Handler, *BootstrapOptions)` which is used to rewrite any HTML produced by previous handler to include the necessary markup to load Bootstrap JavaScript files and related assets.
Example
package main import ( "github.com/aaronland/go-http-bootstrap" "log" "net/http" ) func Handler() http.Handler { index := ` <!doctype html> <html lang="en-us"> <head> <meta charset="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>Bootstrap</title> </head> <body> <div class="card"> <h1 class="card-header">Card header</h1> <div class="card-body">Card body</div> <div class="card-footer">Card footer</div> </div> </body> </html>` fn := func(rsp http.ResponseWriter, req *http.Request) { rsp.Write([]byte(index)) } return http.HandlerFunc(fn) } func main() { mux := http.NewServeMux() idx_handler := Handler() bootstrap_opts := bootstrap.DefaultBootstrapOptions() idx_handler = bootstrap.AppendResourcesHandler(idx_handler, bootstrap_opts) mux.Handle("/", idx_handler) bootstrap.AppendAssetHandlers(mux) endpoint := "localhost:8080" log.Printf("Listening for requests on %s\n", endpoint) http.ListenAndServe(endpoint, mux) }
All of the Bootstrap files in the static/css(static/css) and static/javascript(static/javascript) are registered with your `http.ServeMux` instance when you call `bootstrap.AppendAssetHandlers` but by default only the `css/bootstrap.min.css` is included in the list of CSS and Javascript resources to append to HTML content when you call the `bootstrap.DefaultBootstrapOptions()` method. If there are other Bootstrap-related files you need to access in your application you will need to add them to the `BootstrapOptions.CSS` and `Bootstrap.JS` properties manually.
Index ¶
- func AppendAssetHandlers(mux *http.ServeMux) error
- func AppendAssetHandlersWithPrefix(mux *http.ServeMux, prefix string) error
- func AppendResourcesHandler(next http.Handler, opts *BootstrapOptions) http.Handler
- func AppendResourcesHandlerWithPrefix(next http.Handler, opts *BootstrapOptions, prefix string) http.Handler
- func AssetsHandler() (http.Handler, error)
- func AssetsHandlerWithPrefix(prefix string) (http.Handler, error)
- type BootstrapOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AppendAssetHandlers ¶
Append all the files in the net/http FS instance containing the embedded Bootstrap assets to an *http.ServeMux instance.
func AppendAssetHandlersWithPrefix ¶
Append all the files in the net/http FS instance containing the embedded Bootstrap assets to an *http.ServeMux instance ensuring that all URLs are prepended with prefix.
func AppendResourcesHandler ¶
func AppendResourcesHandler(next http.Handler, opts *BootstrapOptions) http.Handler
AppendResourcesHandler will rewrite any HTML produced by previous handler to include the necessary markup to load Bootstrap JavaScript files and related assets.
func AppendResourcesHandlerWithPrefix ¶
func AppendResourcesHandlerWithPrefix(next http.Handler, opts *BootstrapOptions, prefix string) http.Handler
AppendResourcesHandlerWithPrefix will rewrite any HTML produced by previous handler to include the necessary markup to load Bootstrap JavaScript files and related assets ensuring that all URIs are prepended with a prefix.
func AssetsHandler ¶
AssetsHandler returns a net/http FS instance containing the embedded Bootstrap assets that are included with this package.
Types ¶
type BootstrapOptions ¶
type BootstrapOptions struct { // A list of relative Bootstrap Javascript URLs to append as resources in HTML output. JS []string // A list of relative Bootstrap CSS URLs to append as resources in HTML output. CSS []string }
BootstrapOptions provides a list of JavaScript and CSS link to include with HTML output.
func DefaultBootstrapOptions ¶
func DefaultBootstrapOptions() *BootstrapOptions
Return a *BootstrapOptions struct with default paths and URIs.