SSL peer verification was silently enabled by the HTTParty upgrade in
8a54fda459. This patch restores the
previous behaviour of GitLab 6.3 and earlier.
When using web hook with credentials secured web resource, one needs to
put the credentials in the hook URL.
If the credentials contain special symbols (e.g. @ or #), it should be
URL-quoted (e.g. %40 instead of @).
But when Gitlab is making a request, it should unquote the symbols
before base64-encoding them.
A new queue of "project_web_hook" is used to process web hooks asynchronously, allowing each to succeed/fail (and be retried) independently.
(Basically, project web hooks now process the same as system hooks.)
This commit includes:
* Projects can have zero or more WebHooks.
* The PostReceive job will ask a project to execute any web hooks defined for that project.
* WebHook has a URL, we post Github-compatible JSON to that URL.
* Failure to execute a WebHook will be silently ignored.