You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Now if you try to load this .env with Vapor the setting SOME_SETTING will not be set at all. Some configurations, e.g. RabbitMQ treat an empty string as a request to autogenerate so we must use an empty string for the setting.
The solution I propose is to detect empty string values and then set it. This change in Vapor.Provider.Dotenv would be this:
defp parse_pair([key, value], acc) do
cond do
String.length(key) > 0 && String.length(value) > 0 ->
key = String.trim(key)
value = String.trim(value)
case starting_heredoc(value) do
[_, delimiter] -> {key, delimiter, [], acc}
_ -> [{key, value} | acc]
end
String.length(key) > 0 && String.length(value) == 0 ->
key = String.trim(key)
value = ""
[{key, value} | acc]
true ->
acc
end
end
This fix is working for us.
I can generate a pull request but wanted to verify with you if this is correct?
Great project, thanks!
The text was updated successfully, but these errors were encountered:
When a setting is exported from a .env file empty strings will appear in environment like this:
.env
SOME_SETTING=
Running:
export $(xargs < config/environments/.env)
Will set in environment:
SOME_SETTING=''
Now if you try to load this .env with Vapor the setting
SOME_SETTING
will not be set at all. Some configurations, e.g. RabbitMQ treat an empty string as a request to autogenerate so we must use an empty string for the setting.The solution I propose is to detect empty string values and then set it. This change in
Vapor.Provider.Dotenv
would be this:This fix is working for us.
I can generate a pull request but wanted to verify with you if this is correct?
Great project, thanks!
The text was updated successfully, but these errors were encountered: