Skip to content

Commit 156ec53

Browse files
author
Allan Shone
committed
Finalise the asset embedding
1 parent b272adc commit 156ec53

6 files changed

Lines changed: 38 additions & 8 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ node_modules
33
dist
44
*log
55
data/migrate.go
6+
audiofile/assets.go

Makefile

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,21 @@ bin-migrations:
55
go-bindata -o data/migrate.go -prefix data/migrations/ data/migrations/
66
sed -i "s/package main/package data/" data/migrate.go
77

8+
bin-dist:
9+
go-bindata -o audiofile/assets.go -prefix dist/ dist/...
10+
811
# at this time, there's no watch enabled for the go binary
9-
dev-be:
10-
go install ./audiofile/ && audiofile
12+
dev-be: bin-prep bin-migrations bin-dist install
13+
audiofile
1114

15+
# serve is a watch task with built-in node server
1216
dev-fe:
1317
yarn serve
1418

1519
install:
1620
yarn build
1721
go install ./audiofile/
1822

19-
test:
23+
test: bin-migrations bin-dist install
2024
go test -v -race ./...
2125

audiofile/handlers.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package main
22

33
import (
4+
"bytes"
45
"fmt"
56
"net/http"
67
"time"
@@ -47,7 +48,14 @@ func getDirectories(c *gin.Context) {
4748
}
4849

4950
func root(c *gin.Context) {
50-
c.HTML(http.StatusOK, "index.html", gin.H{})
51+
r := bytes.NewReader(MustAsset("index.html"))
52+
c.DataFromReader(
53+
http.StatusOK,
54+
int64(len(MustAssetString("index.html"))),
55+
"text/html",
56+
r,
57+
map[string]string{},
58+
)
5159
}
5260

5361
func storeDirectory(c *gin.Context) {

audiofile/server.go

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,29 @@ import (
44
"net/http"
55

66
"github.com/cloudcloud/audiofile/data"
7+
assetfs "github.com/elazarl/go-bindata-assetfs"
78
"github.com/gin-contrib/cors"
89
"github.com/gin-gonic/gin"
910
)
1011

1112
func addMiddleware(r *gin.Engine, d *data.Data) *gin.Engine {
12-
// TODO: assets, can go when embedded into binary
13-
r.LoadHTMLGlob("./dist/*html")
14-
r.Static("/js", "./dist/js")
15-
r.Static("/css", "./dist/css")
13+
r.StaticFS("/js",
14+
&assetfs.AssetFS{
15+
Asset: Asset,
16+
AssetDir: AssetDir,
17+
AssetInfo: AssetInfo,
18+
Prefix: "js/",
19+
},
20+
)
21+
22+
r.StaticFS("/css",
23+
&assetfs.AssetFS{
24+
Asset: Asset,
25+
AssetDir: AssetDir,
26+
AssetInfo: AssetInfo,
27+
Prefix: "css/",
28+
},
29+
)
1630

1731
r.Use(
1832
cors.New(cors.Config{

go.mod

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
module github.com/cloudcloud/audiofile
22

33
require (
4+
github.com/elazarl/go-bindata-assetfs v1.0.0
45
github.com/gin-contrib/cors v0.0.0-20181206035131-7c641a7a7dc5
56
github.com/gin-contrib/sse v0.0.0-20170109093832-22d885f9ecc7 // indirect
67
github.com/gin-gonic/gin v1.3.0

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ github.com/docker/docker v0.7.3-0.20180221142240-453f2b8b40b9/go.mod h1:eEKB0N0r
2929
github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
3030
github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
3131
github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
32+
github.com/elazarl/go-bindata-assetfs v1.0.0 h1:G/bYguwHIzWq9ZoyUQqrjTmJbbYn3j3CKKpKinvZLFk=
33+
github.com/elazarl/go-bindata-assetfs v1.0.0/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4=
3234
github.com/fsouza/fake-gcs-server v1.3.0/go.mod h1:Lq+43m2znsXfDKHnQMfdA0HpYYAEJsfizsbpk5k3TLo=
3335
github.com/gin-contrib/cors v0.0.0-20181206035131-7c641a7a7dc5 h1:d4cpoJSg7KnKZ5bdAXqVMMELmmjzvXrPVUvRuj0kHo8=
3436
github.com/gin-contrib/cors v0.0.0-20181206035131-7c641a7a7dc5/go.mod h1:cw+u9IsAkC16e42NtYYVCLsHYXE98nB3M7Dr9mLSeH4=

0 commit comments

Comments
 (0)