Do not escape URI when extracting path (!5878)
This commit is contained in:
parent
f3ee7fc80b
commit
bb48a0faea
3 changed files with 4 additions and 20 deletions
|
@ -29,6 +29,7 @@ v 8.11.0 (unreleased)
|
|||
- Fix CI status icon link underline (ClemMakesApps)
|
||||
- The Repository class is now instrumented
|
||||
- Fix commit mention font inconsistency (ClemMakesApps)
|
||||
- Do not escape URI when extracting path !5878 (winniehell)
|
||||
- Fix filter label tooltip HTML rendering (ClemMakesApps)
|
||||
- Cache the commit author in RequestStore to avoid extra lookups in PostReceive
|
||||
- Expand commit message width in repo view (ClemMakesApps)
|
||||
|
|
|
@ -94,7 +94,9 @@ module ExtractsPath
|
|||
@options = params.select {|key, value| allowed_options.include?(key) && !value.blank? }
|
||||
@options = HashWithIndifferentAccess.new(@options)
|
||||
|
||||
@id = Addressable::URI.normalize_component(get_id)
|
||||
@id = params[:id] || params[:ref]
|
||||
@id += "/" + params[:path] unless params[:path].blank?
|
||||
|
||||
@ref, @path = extract_ref(@id)
|
||||
@repo = @project.repository
|
||||
if @options[:extended_sha1].blank?
|
||||
|
@ -116,12 +118,4 @@ module ExtractsPath
|
|||
def tree
|
||||
@tree ||= @repo.tree(@commit.id, @path)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def get_id
|
||||
id = params[:id] || params[:ref]
|
||||
id += "/" + params[:path] unless params[:path].blank?
|
||||
id
|
||||
end
|
||||
end
|
||||
|
|
|
@ -30,17 +30,6 @@ describe ExtractsPath, lib: true do
|
|||
expect(@logs_path).to eq("/#{@project.path_with_namespace}/refs/#{ref}/logs_tree/files/ruby/popen.rb")
|
||||
end
|
||||
|
||||
context 'escaped slash character in ref' do
|
||||
let(:ref) { 'improve%2Fawesome' }
|
||||
|
||||
it 'has no escape sequences in @ref or @logs_path' do
|
||||
assign_ref_vars
|
||||
|
||||
expect(@ref).to eq('improve/awesome')
|
||||
expect(@logs_path).to eq("/#{@project.path_with_namespace}/refs/#{ref}/logs_tree/files/ruby/popen.rb")
|
||||
end
|
||||
end
|
||||
|
||||
context 'ref contains %20' do
|
||||
let(:ref) { 'foo%20bar' }
|
||||
|
||||
|
|
Loading…
Reference in a new issue