Renamed UrlValidator to AddressableUrlValidator to avoid 'url:' naming collision with ActiveModel::Validations::UrlValidator in 'validates' statement.
Make use of the options attribute of the parent class ActiveModel::EachValidator.
Add more options: allow_nil, allow_blank, message.
Renamed 'protocols' option to 'schemes' to match the option naming from UrlValidator.
We're moving from using terminology related to terminals when
we refer to Websockets connections in Workhorse.
It's more appropiate a concept like channel.
Workhorse was not able to parse the `headers` property since it was expecting a
key => array as a structure.
Error from workhorse: preAuthorizeHandler: decode authorization response: json:
cannot unmarshal string into Go struct field TerminalSettings.Header of type
[]string
Workhorse was not changed since this api is already used for the environment
terminals.
gitlab-org/gitlab-ce#25990