Guest User

Untitled

a guest
Jul 19th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. module Kermit
  2. class Request
  3. def initialize(url, success, failure=nil)
  4. @request = NSURLRequest.requestWithURL(NSURL.URLWithString(url))
  5. @success = success
  6. @failure = failure
  7. # @parser = Yajl::Parser.new(:symbolize_keys => true)
  8. end
  9.  
  10. def connection
  11. @connection ||= NSURLConnection.alloc.initWithRequest(@request, delegate:self)
  12. end
  13.  
  14. def perform_request
  15. self.connection.start
  16. end
  17.  
  18. def connection(connection, didFailWithError:error)
  19. # puts error.code.inspect
  20. # puts error.domain.inspect
  21. # puts error.userInfo.inspect
  22. end
  23.  
  24. def success?
  25. @status_code == 200
  26. end
  27.  
  28. def connection(connection, didReceiveResponse:response)
  29. @status_code = response.statusCode
  30. @response_body = "" if success?
  31. end
  32.  
  33. def connection(connection, didReceiveData:data)
  34. if success?
  35. (0...length).each {|i| @response_body << data.bytes[i].chr}
  36. end
  37. end
  38.  
  39. def connectionDidFinishLoading(connection)
  40. if success?
  41. @success.call(JSON.parse(@response_body))
  42. else
  43. @failure.call(@status_code) if @failure
  44. end
  45. end
  46. end
  47. end
Add Comment
Please, Sign In to add comment