Sha256: 6bc4f3df77ffbf626a8129a7831395edb78b12717acdcf0b198a14967088fbe3

Contents?: true

Size: 788 Bytes

Versions: 3

Compression:

Stored size: 788 Bytes

Contents

module Samuel
  module LogEntries

    class NetHttp < Base
      def host
        @http.address
      end

      def path
        @request.path.split("?")[0]
      end

      def query
        @request.path.split("?")[1]
      end

      def scheme
        @http.use_ssl? ? "https" : "http"
      end

      def port
        @http.port
      end

      def method
        @request.method.to_s.upcase
      end

      def status_code
        @response.code
      end

      def status_message
        @response.message.strip
      end

      def error?
        error_classes = %w(Exception Net::HTTPClientError Net::HTTPServerError)
        response_ancestors = @response.class.ancestors.map { |a| a.to_s }
        (error_classes & response_ancestors).any?
      end
    end
  
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
samuel-0.3.2 lib/samuel/log_entries/net_http.rb
samuel-0.3.1 lib/samuel/log_entries/net_http.rb
samuel-0.3.0 lib/samuel/log_entries/net_http.rb