Currently onvif project uses tesla library with Finch as an adapter, we want a config to allow providing a different adapter.
I can provide two reasons for my use cases:
- I had a problem using
Finch with IP cameras, sometimes finch opens a lot of connections and are not closed which hits the limit of erlang ports.
- I want to add config to the adapter. As an example, milesight cameras has a bug where the
Authorization header should not be lower cased otherwise it won't be recognized.
What I suggest is to add a config
config :onvif, http_adapter: Tesla.Adapter.Mint, http_adapter_options: [case_sensitive_headers: true]
One thing here is that we'll expose the underlying http lib to the users. We can add an abstraction on top however tesla itself is an abstraction so I prefer we keep it like this.
If you don't have any issues with this, I can open a PR.
Currently
onvifproject usesteslalibrary withFinchas an adapter, we want a config to allow providing a different adapter.I can provide two reasons for my use cases:
Finchwith IP cameras, sometimes finch opens a lot of connections and are not closed which hits the limit of erlang ports.Authorizationheader should not be lower cased otherwise it won't be recognized.What I suggest is to add a config
One thing here is that we'll expose the underlying http lib to the users. We can add an abstraction on top however
teslaitself is an abstraction so I prefer we keep it like this.If you don't have any issues with this, I can open a PR.