MCPcopy Create free account
hub / github.com/php/frankenphp / configureHotReload

Method configureHotReload

caddy/hotreload.go:29–55  ·  view source on GitHub ↗
(app *FrankenPHPApp)

Source from the content-addressed store, hash-verified

27}
28
29func (f *FrankenPHPModule) configureHotReload(app *FrankenPHPApp) error {
30 if f.HotReload == nil {
31 return nil
32 }
33
34 if f.mercureHub == nil {
35 return errors.New("unable to enable hot reloading: no Mercure hub configured")
36 }
37
38 if len(f.HotReload.Watch) == 0 {
39 f.HotReload.Watch = []string{defaultHotReloadPattern}
40 }
41
42 if f.HotReload.Topic == "" {
43 uid, err := uniqueID(f)
44 if err != nil {
45 return err
46 }
47
48 f.HotReload.Topic = "https://frankenphp.dev/hot-reload/" + uid
49 }
50
51 app.opts = append(app.opts, frankenphp.WithHotReload(f.HotReload.Topic, f.mercureHub, f.HotReload.Watch))
52 f.preparedEnv["FRANKENPHP_HOT_RELOAD\x00"] = "/.well-known/mercure?topic=" + url.QueryEscape(f.HotReload.Topic)
53
54 return nil
55}
56
57func (f *FrankenPHPModule) unmarshalHotReload(d *caddyfile.Dispenser) error {
58 f.HotReload = &hotReloadConfig{

Callers 1

ProvisionMethod · 0.95

Calls 2

WithHotReloadFunction · 0.92
uniqueIDFunction · 0.85

Tested by

no test coverage detected