htmx.defineExtension('path-params', { onEvent: function(name, evt) { if (name === 'htmx:configRequest') { evt.detail.path = evt.detail.path.replace(/{([^}]+)}/g, function(_, param) { var val = evt.detail.parameters[param] delete evt.detail.parameters[param] return val === undefined ? '{' + param + '}' : encodeURIComponent(val) }) } } })