mirror of
https://github.com/strongdm/comply
synced 2024-11-25 09:04:54 +00:00
7468711b3b
Releases after github.com/xanzy/go-gitlab@v0.31.0 introduce breaking changes to the NewClient call. Addresses #94
63 lines
1.6 KiB
Markdown
63 lines
1.6 KiB
Markdown
# go-bindata-assetfs
|
|
|
|
Serve embedded files from [go-bindata](https://github.com/go-bindata/go-bindata) with `net/http`.
|
|
|
|
[GoDoc](http://godoc.org/github.com/elazarl/go-bindata-assetfs)
|
|
|
|
### Installation
|
|
|
|
Install with
|
|
|
|
$ go get github.com/go-bindata/go-bindata/...
|
|
$ go get github.com/elazarl/go-bindata-assetfs/...
|
|
|
|
### Creating embedded data
|
|
|
|
Usage is identical to [go-bindata](https://github.com/go-bindata/go-bindata) usage,
|
|
instead of running `go-bindata` run `go-bindata-assetfs`.
|
|
|
|
The tool will create a `bindata_assetfs.go` file, which contains the embedded data.
|
|
|
|
A typical use case is
|
|
|
|
$ go-bindata-assetfs data/...
|
|
|
|
### Using assetFS in your code
|
|
|
|
The generated file provides an `assetFS()` function that returns a `http.Filesystem`
|
|
wrapping the embedded files. What you usually want to do is:
|
|
|
|
http.Handle("/", http.FileServer(assetFS()))
|
|
|
|
This would run an HTTP server serving the embedded files.
|
|
|
|
## Without running binary tool
|
|
|
|
You can always just run the `go-bindata` tool, and then
|
|
|
|
use
|
|
|
|
```go
|
|
import "github.com/elazarl/go-bindata-assetfs"
|
|
...
|
|
http.Handle("/",
|
|
http.FileServer(
|
|
&assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, AssetInfo: AssetInfo, Prefix: "data"}))
|
|
```
|
|
|
|
to serve files embedded from the `data` directory.
|
|
|
|
## SPA applications
|
|
|
|
For single page applications you can use `Fallback: "index.html"` in AssetFS context, so if route doesn't match the pattern it will fallback to file specified.
|
|
|
|
example
|
|
|
|
```go
|
|
import "github.com/elazarl/go-bindata-assetfs"
|
|
...
|
|
http.Handle("/",
|
|
http.FileServer(
|
|
&assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, AssetInfo: AssetInfo, Prefix: "data", Fallback: "index.html"}))
|
|
```
|