Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean McGivern <sean@gitlab.com>2018-07-06 13:35:30 +0300
committerSean McGivern <sean@gitlab.com>2018-07-06 13:35:30 +0300
commit0d9ef34a2541a2adf00677132eac3637de33b6d4 (patch)
tree3fd6cc6aeffc6d33b5e28d1d054a26cdf15e50e5 /lib/gitlab/hook_data
parent7ff24772b63691f857a1ee1d113dcbdc3b01f064 (diff)
Add documentation and specs for webhook URL rewriting
Diffstat (limited to 'lib/gitlab/hook_data')
-rw-r--r--lib/gitlab/hook_data/base_builder.rb27
-rw-r--r--lib/gitlab/hook_data/issuable_builder.rb7
2 files changed, 23 insertions, 11 deletions
diff --git a/lib/gitlab/hook_data/base_builder.rb b/lib/gitlab/hook_data/base_builder.rb
index 1d99e793a03..da0f4e6105e 100644
--- a/lib/gitlab/hook_data/base_builder.rb
+++ b/lib/gitlab/hook_data/base_builder.rb
@@ -3,17 +3,36 @@ module Gitlab
class BaseBuilder
attr_accessor :object
+ MARKDOWN_SIMPLE_IMAGE = %r{
+ #{::Gitlab::Regex.markdown_code_or_html_blocks}
+ |
+ (?<image>
+ !
+ \[(?<title>[^\n]*?)\]
+ \((?<url>(?!(https?://|//))[^\n]+?)\)
+ )
+ }mx.freeze
+
def initialize(object)
@object = object
end
+ def self.absolute_image_urls(markdown_text)
+ return markdown_text unless markdown_text.present?
+
+ markdown_text.gsub(MARKDOWN_SIMPLE_IMAGE) do
+ if $~[:image]
+ "![#{$~[:title]}](#{Gitlab.config.gitlab.url}/#{$~[:url]})"
+ else
+ $~[0]
+ end
+ end
+ end
+
private
def absolute_image_urls(markdown_text)
- return markdown_text unless markdown_text.present?
-
- markdown_text.gsub(/!\[(.*?)\]\((.*?)\)/,
- "![\\1](#{Settings.gitlab.url}\\2)")
+ self.class.absolute_image_urls(markdown_text)
end
end
end
diff --git a/lib/gitlab/hook_data/issuable_builder.rb b/lib/gitlab/hook_data/issuable_builder.rb
index ad0d6f6352b..f2eda398b8f 100644
--- a/lib/gitlab/hook_data/issuable_builder.rb
+++ b/lib/gitlab/hook_data/issuable_builder.rb
@@ -60,13 +60,6 @@ module Gitlab
hash
end
end
-
- def absolute_image_urls(markdown_text)
- return markdown_text unless markdown_text.present?
-
- markdown_text.gsub(/!\[(.*?)\]\((.*?)\)/,
- "![\\1](#{Settings.gitlab.url}\\2)")
- end
end
end
end