(app *FrankenPHPApp)
| 27 | } |
| 28 | |
| 29 | func (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 | |
| 57 | func (f *FrankenPHPModule) unmarshalHotReload(d *caddyfile.Dispenser) error { |
| 58 | f.HotReload = &hotReloadConfig{ |
no test coverage detected