Module: PromisingHttpRequest

Defined in:
lib/em-http-promise/promising_http_request.rb

Instance Method Summary collapse

Instance Method Details

#is_a?(klass) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
21
# File 'lib/em-http-promise/promising_http_request.rb', line 18

def is_a?(klass)                                                                                                                                                                                       
  return true if klass == EventMachine::Q::Promise && ! self.finished?                                                                                                                                 
  super(klass)                                                                                                                                                                                         
end

#then(success_back = nil, error_back = nil, &blk) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/em-http-promise/promising_http_request.rb', line 2

def then(success_back = nil, error_back = nil, &blk)                                                                                                                                                   
  deferred = EM::Q.defer                                                                                                                                                                               
  
  self.callback {                                                                                                                                                                                      
    if self.response_header.status == 200                                                                                                                                                              
      deferred.resolve(self)                                                                                                                                                                           
    else                                                                                                                                                                                               
      deferred.reject(self)                                                                                                                                                                            
    end                                                                                                                                                                                                
  }                                                                                                                                                                                                    
  self.errback {                                                                                                                                                                                       
    deferred.reject("Connection failure")                                                                                                                                                              
  }                                                                                                                                                                                                    
  deferred.promise.then(success_back, error_back, &blk)                                                                                                                                                
end