You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: request_handler.rb
    path of file: ./repos/vcr/lib/vcr
    
    the code of the file until where you have to start completion: module VCR
  # @private
  class RequestHandler
    include Logger::Mixin

    def handle
      log "Handling request: #{request_summary} (disabled: #{disabled?})"
      invoke_before_request_hook

      req_type = request_type(:consume_stub)

      log "Identified request type (#{req_type}) for #{request_summary}"

      # The before_request hook can change the type of request
      # (i.e. by inserting a cassette), so we need to query the
      # request type again.
      #
      # Likewise, the main handler logic can mod
    
    def handle
      log "Handling request: #{request_summary} (disabled: #{disabled?})"
      invoke_before_request_hook

      req_type = request_type(:consume_stub)

      log "Identified request type (#{req_type}) for #{request_summary}"

      # The before_request hook can change the type of request
      # (i.e. by inserting a cassette), so we need to query the
      # request type again.
      #
      # Likewise, the main handler logic can modify what
      # #request_type would return (i.e. when a response stub is
      # used), so we need to store the request type for the
      # after_request hook.
      set_typed_request_for_after_hook(req_type)

      send "on_#{req_type}_request"
    end