tompave / fun_with_flags_ui

Web dashboard for the FunWithFlags Elixir package
MIT License
128 stars 29 forks source link

Use conn.script_name instead of namespace to construct paths #12

Open LostKobrakai opened 5 years ago

LostKobrakai commented 5 years ago

I'm currently working on a similar "embed into some phoenix/plug app" tool than this one. In my research I found in bamboos preview router that they use conn.script_name to construct their routes. It would be nice to use this here as well, so the namespace option is no longer needed.

tompave commented 5 years ago

Hi, thank you for the suggestion.

I wasn't familiar with conn.script_name, but it looks a bit magical and not well documented. Looking at the code, it seems to be set in plug and phoenix when forwarding in the router, but I can't tell whether it should be considered a private detail.

Do you have more info?

LostKobrakai commented 5 years ago

Not really. I've looked at when it was introduces, and it seems to be there since Plug.Conn became a struct (basically forever). A quick look just now also suggests the route helpers of phoenix router do use the field, so I'd expect it's fine to be used for that job.

tompave commented 5 years ago

Ok, I see. Then I'd be happy to accept a PR for this, if you want to give it a go.

The main requirement is that the dashboard should still work in three cases: embedded in Phoenix, embedded in another Plug router, and standalone.