mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-20 20:08:07 -05:00
38 lines
693 B
Go
38 lines
693 B
Go
package assets
|
|
|
|
import (
|
|
"net/http"
|
|
"os"
|
|
|
|
"github.com/owncloud/ocis/graph-explorer/pkg/config"
|
|
"github.com/owncloud/ocis/ocis-pkg/log"
|
|
)
|
|
|
|
//go:generate make -C ../.. embed.yml
|
|
|
|
// assets gets initialized by New and provides the handler.
|
|
type assets struct {
|
|
logger log.Logger
|
|
config *config.Config
|
|
}
|
|
|
|
// Open just implements the HTTP filesystem interface.
|
|
func (a assets) Open(original string) (http.File, error) {
|
|
return FS.OpenFile(
|
|
CTX,
|
|
original,
|
|
os.O_RDONLY,
|
|
0644,
|
|
)
|
|
}
|
|
|
|
// New returns a new http filesystem to serve assets.
|
|
func New(opts ...Option) http.FileSystem {
|
|
options := newOptions(opts...)
|
|
|
|
return assets{
|
|
logger: options.Logger,
|
|
config: options.Config,
|
|
}
|
|
}
|