Sha256: bfa9df696a96619fbedf805de4372220c652c3bc9b74d5e9f3678046e1f79b0e

Contents?: true

Size: 881 Bytes

Versions: 3

Compression:

Stored size: 881 Bytes

Contents

require 'json'

module Nephos
  module Responder

    CT_CHARSET_ = '; charset=UTF-8'
    CT_TP = {'Content-type' => 'text/plain' + CT_CHARSET_}
    CT_TJ = {'Content-type' => 'text/javascript' + CT_CHARSET_}
    CT_TH = {'Content-type' => 'text/html' + CT_CHARSET_}
    def self.render params
      if params == :empty
        return [204, CT_TP, [""]]
      elsif params[:status] == 404
        return [404, CT_TP, ['Error 404 : Not found !']]
      elsif params[:status] == 500
        return [500, CT_TP, ['Error 5OO : Internal Server Error !']]
      elsif params[:status].is_a? Fixnum
        return [params[:status], CT_TP, ["Error #{params[:status]}"]]
      elsif params[:json]
        return [200, CT_TJ, [params[:json].to_json]]
      elsif params[:plain]
        return [200, CT_TJ, [params[:plain].to_s]]
      else
        render(:empty)
      end
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
nephos-server-0.1.2 lib/nephos-server/server/responder.rb
nephos-server-0.1.1 lib/nephos-server/server/responder.rb
nephos-server-0.1 lib/nephos-server/server/responder.rb