Handle requests w/leading slashes throughout api for hosts with faraday configured url prefixes #112
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue is articulated here: lostisland/faraday#293
Issue:
conn = Faraday.new(:url => 'http://example.com/api')
conn.get '/index' #=> GET http://example.com/index
Solution:
conn.get 'index' (remove leading slash)
Example in discourse_api get('categories.json', params) instead of get('/categories.json')
In most cases clients will not experience this as I assume requests from domain ('http://example.com/') would be desired. However, if that is not the case faraday seems to strip url prefix when request has a leading slash.
I altered client.rb in a way that this won't impact any existing discourse_api users, but will not allow the ability to bypass this faraday quirk if they pass fourth argument upon initialization.