Skip to content

Commit 4289b52

Browse files
authored
Merge pull request #33 from phiHero/master
fix: encode URL user-inputted Ids to prevent injection
2 parents bf829be + 5dfcb5c commit 4289b52

File tree

15 files changed

+30
-15
lines changed

15 files changed

+30
-15
lines changed

lib/typesense/alias.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def delete
1818
private
1919

2020
def endpoint_path
21-
"#{Aliases::RESOURCE_PATH}/#{@name}"
21+
"#{Aliases::RESOURCE_PATH}/#{ERB::Util.url_encode(@name)}"
2222
end
2323
end
2424
end

lib/typesense/aliases.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def [](alias_name)
2424
private
2525

2626
def endpoint_path(alias_name)
27-
"#{Aliases::RESOURCE_PATH}/#{alias_name}"
27+
"#{Aliases::RESOURCE_PATH}/#{ERB::Util.url_encode(alias_name)}"
2828
end
2929
end
3030
end

lib/typesense/analytics_rule.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def delete
1818
private
1919

2020
def endpoint_path
21-
"#{AnalyticsRules::RESOURCE_PATH}/#{@rule_name}"
21+
"#{AnalyticsRules::RESOURCE_PATH}/#{ERB::Util.url_encode(@rule_name)}"
2222
end
2323
end
2424
end

lib/typesense/analytics_rules.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def [](rule_name)
2424
private
2525

2626
def endpoint_path(operation = nil)
27-
"#{AnalyticsRules::RESOURCE_PATH}#{operation.nil? ? '' : "/#{operation}"}"
27+
"#{AnalyticsRules::RESOURCE_PATH}#{operation.nil? ? '' : "/#{ERB::Util.url_encode(operation)}"}"
2828
end
2929
end
3030
end

lib/typesense/collection.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def delete
2727
private
2828

2929
def endpoint_path
30-
"#{Collections::RESOURCE_PATH}/#{@name}"
30+
"#{Collections::RESOURCE_PATH}/#{ERB::Util.url_encode(@name)}"
3131
end
3232
end
3333
end

lib/typesense/document.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def update(partial_document, options = {})
2323
private
2424

2525
def endpoint_path
26-
"#{Collections::RESOURCE_PATH}/#{@collection_name}#{Documents::RESOURCE_PATH}/#{@document_id}"
26+
"#{Collections::RESOURCE_PATH}/#{ERB::Util.url_encode(@collection_name)}#{Documents::RESOURCE_PATH}/#{ERB::Util.url_encode(@document_id)}"
2727
end
2828
end
2929
end

lib/typesense/documents.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ def delete(query_parameters = {})
7575
private
7676

7777
def endpoint_path(operation = nil)
78-
"#{Collections::RESOURCE_PATH}/#{@collection_name}#{Documents::RESOURCE_PATH}#{operation.nil? ? '' : "/#{operation}"}"
78+
"#{Collections::RESOURCE_PATH}/#{ERB::Util.url_encode(@collection_name)}#{Documents::RESOURCE_PATH}#{operation.nil? ? '' : "/#{operation}"}"
7979
end
8080
end
8181
end

lib/typesense/key.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def delete
1818
private
1919

2020
def endpoint_path
21-
"#{Keys::RESOURCE_PATH}/#{@id}"
21+
"#{Keys::RESOURCE_PATH}/#{ERB::Util.url_encode(@id)}"
2222
end
2323
end
2424
end

lib/typesense/override.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def delete
1919
private
2020

2121
def endpoint_path
22-
"#{Collections::RESOURCE_PATH}/#{@collection_name}#{Overrides::RESOURCE_PATH}/#{@override_id}"
22+
"#{Collections::RESOURCE_PATH}/#{ERB::Util.url_encode(@collection_name)}#{Overrides::RESOURCE_PATH}/#{ERB::Util.url_encode(@override_id)}"
2323
end
2424
end
2525
end

lib/typesense/overrides.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def [](override_id)
2525
private
2626

2727
def endpoint_path(operation = nil)
28-
"#{Collections::RESOURCE_PATH}/#{@collection_name}#{Overrides::RESOURCE_PATH}#{operation.nil? ? '' : "/#{operation}"}"
28+
"#{Collections::RESOURCE_PATH}/#{ERB::Util.url_encode(@collection_name)}#{Overrides::RESOURCE_PATH}#{operation.nil? ? '' : "/#{ERB::Util.url_encode(operation)}"}"
2929
end
3030
end
3131
end

0 commit comments

Comments
 (0)