[GH-ISSUE #70] OAuthSwiftClient fix #43

Closed
opened 2026-03-03 16:45:09 +03:00 by kerem · 1 comment
Owner

Originally created by @ozgurersil on GitHub (May 27, 2015).
Original GitHub issue: https://github.com/OAuthSwift/OAuthSwift/issues/70

In OAuthSwiftClient.swift class:

in request function if the url contains latin chars, NSURL crashes. I fix and paste below

func request(url: String, method: String, parameters: Dictionary<String, AnyObject>, success: OAuthSwiftHTTPRequest.SuccessHandler?, failure: OAuthSwiftHTTPRequest.FailureHandler?) {
    if let url = NSURL(string: url.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!)
    {
        let request = OAuthSwiftHTTPRequest(URL: url, method: method, parameters: parameters)
        if self.credential.oauth2 {
            request.headers = ["Authorization": "Bearer \(self.credential.oauth_token)"]
        } else {
            request.headers = ["Authorization": OAuthSwiftClient.authorizationHeaderForMethod(method, url: url, parameters: parameters, credential: self.credential)]
        }
        request.successHandler = success
        request.failureHandler = failure
        request.dataEncoding = dataEncoding
        request.encodeParameters = true
        request.start()
    }
}

thanks for the library,
it rocks

Originally created by @ozgurersil on GitHub (May 27, 2015). Original GitHub issue: https://github.com/OAuthSwift/OAuthSwift/issues/70 In OAuthSwiftClient.swift class: in request function if the url contains latin chars, NSURL crashes. I fix and paste below ``` func request(url: String, method: String, parameters: Dictionary<String, AnyObject>, success: OAuthSwiftHTTPRequest.SuccessHandler?, failure: OAuthSwiftHTTPRequest.FailureHandler?) { if let url = NSURL(string: url.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!) { let request = OAuthSwiftHTTPRequest(URL: url, method: method, parameters: parameters) if self.credential.oauth2 { request.headers = ["Authorization": "Bearer \(self.credential.oauth_token)"] } else { request.headers = ["Authorization": OAuthSwiftClient.authorizationHeaderForMethod(method, url: url, parameters: parameters, credential: self.credential)] } request.successHandler = success request.failureHandler = failure request.dataEncoding = dataEncoding request.encodeParameters = true request.start() } } ``` thanks for the library, it rocks
kerem closed this issue 2026-03-03 16:45:09 +03:00
Author
Owner

@phimage commented on GitHub (May 29, 2015):

PR #71 opened

<!-- gh-comment-id:106782775 --> @phimage commented on GitHub (May 29, 2015): PR #71 opened
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/OAuthSwift#43
No description provided.