When printing floats to strings, we have to define a small decimal
limits to avoid print a too long and "inaccurate" float number:
```
2> float_to_binary(0.3).
<<"2.99999999999999988898e-01">>
```
This fix sets precision of floats to 17 digits after the decimal point.
This precision is larger than precision of most `double` data type used by
databases(14 digits for mysql and 15 digits for pgsql).
* feat(http_lib): Add uri parse to emqx_http_lib
* fix(webhook): call emqx_http_lib to parse uri
* fix(auth-http): Call emqx_http_lib to parse uri
* fix(rule-engine): call emqx_http_lib to parse uri
One step closer for better code abstraction for opensorce vs enterprise
So far this relocation is to make opensource to enterprise merges
conflict free.