lib/ethon/easy/operations.rb
module Ethon class Easy # This module contains the logic to prepare and perform # an easy. module Operations # Returns a pointer to the curl easy handle. # # @example Return the handle. # easy.handle # # @return [ FFI::Pointer ] A pointer to the curl easy handle. def handle @handle ||= FFI::AutoPointer.new(Curl.easy_init, Curl.method(:easy_cleanup)) end # Perform the easy request. # # @example Perform the request. # easy.perform # # @return [ Integer ] The return code. def perform @return_code = Curl.easy_perform(handle) Ethon.logger.debug { "ETHON: performed #{self.log_inspect}" } complete @return_code end # Prepare the easy. Options, headers and callbacks # were set. # # @example Prepare easy. # easy.prepare # # @deprecated It is no longer necessary to call prepare. def prepare Ethon.logger.warn( "ETHON: It is no longer necessary to call "+ "Easy#prepare. It's going to be removed "+ "in future versions." ) end end end end