diff options
| author | Shulhan <ms@kilabit.info> | 2022-08-07 23:03:34 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2022-08-07 23:03:34 +0700 |
| commit | c32cc2fb5aea85de19ea968366338e09e6fa3c6a (patch) | |
| tree | 688d2ad5ed8cad4a1527e4020f606fdf74b8d514 | |
| parent | d08388ce3ad56757bc0b2ccc0d8286a1d4933fba (diff) | |
| download | ciigo-c32cc2fb5aea85de19ea968366338e09e6fa3c6a.tar.xz | |
all: fix HTML template loaded during Serve on non-development
The HTML template in the ServeOptions should not read when ciigo.Serve
running on non-development environment.
| -rw-r--r-- | converter.go | 6 | ||||
| -rw-r--r-- | server.go | 21 |
2 files changed, 17 insertions, 10 deletions
diff --git a/converter.go b/converter.go index 2d5c620..9fcbe97 100644 --- a/converter.go +++ b/converter.go @@ -41,10 +41,10 @@ func NewConverter(htmlTemplate string) (converter *Converter, err error) { bhtml, err = os.ReadFile(converter.htmlTemplate) if err != nil { - return nil, fmt.Errorf(`%s: %s: %w`, logp, converter.htmlTemplate, err) + tmplContent = templateIndexHTML + } else { + tmplContent = string(bhtml) } - - tmplContent = string(bhtml) } converter.tmpl, err = converter.tmpl.Parse(tmplContent) @@ -33,6 +33,8 @@ func newServer(opts *ServeOptions) (srv *server, err error) { tmplNode *memfs.Node httpdOpts *libhttp.ServerOptions epInSearch *libhttp.Endpoint + + pathHtmlTemplate string ) if opts.Mfs == nil { @@ -74,17 +76,22 @@ func newServer(opts *ServeOptions) (srv *server, err error) { return nil, fmt.Errorf(`%s: %w`, logp, err) } - srv.converter, err = NewConverter(opts.HtmlTemplate) + if opts.IsDevelopment { + pathHtmlTemplate = opts.HtmlTemplate + } + + srv.converter, err = NewConverter(pathHtmlTemplate) if err != nil { return nil, fmt.Errorf(`%s: %w`, logp, err) } - // Optionally, load HTML template from memory file system. - tmplNode, _ = opts.Mfs.Get(internalTemplatePath) - if tmplNode != nil { - srv.converter.tmpl, err = srv.converter.tmpl.Parse(string(tmplNode.Content)) - if err != nil { - return nil, fmt.Errorf(`%s: %s`, logp, err) + if !opts.IsDevelopment { + tmplNode, _ = opts.Mfs.Get(internalTemplatePath) + if tmplNode != nil { + srv.converter.tmpl, err = srv.converter.tmpl.Parse(string(tmplNode.Content)) + if err != nil { + return nil, fmt.Errorf(`%s: %s`, logp, err) + } } } |
