class HTTPUtils::ServerResponse
class ServerResponses - for sending HTTP responses
Public Class Methods
new(session, length)
click to toggle source
# File lib/utils/http_utils.rb, line 117 def initialize(session, length) @session = session @length = length end
Public Instance Methods
r_200()
click to toggle source
# File lib/utils/http_utils.rb, line 148 def r_200 @session.puts 'HTTP/1.1 200 OK' @session.puts "Content-Type: #{@content_type}" @session.puts "Content-Length: #{@length}" end
r_201()
click to toggle source
# File lib/utils/http_utils.rb, line 154 def r_201 @session.puts 'HTTP/1.1 201 Created' @session.puts "Content-Type: #{@content_type}" @session.puts "Content-Length: #{@length}" end
r_301(options)
click to toggle source
# File lib/utils/http_utils.rb, line 160 def r_301(options) @session.puts 'HTTP/1.1 301 Moved Permanently' @session.puts "Content-Type: #{@content_type}" @session.puts "Content-Length: #{@length}" @session.puts "Location: #{options[:location]}" end
r_304()
click to toggle source
# File lib/utils/http_utils.rb, line 167 def r_304 @session.puts 'HTTP/1.1 304 Not Modified' @session.puts "Content-Type: #{@content_type}" @session.puts "Content-Length: #{@length}" end
r_400()
click to toggle source
# File lib/utils/http_utils.rb, line 173 def r_400 @session.puts 'HTTP/1.1 400 Bad Request' @session.puts "Content-Type: #{@content_type}" @session.puts "Content-Length: #{@length}" end
r_404()
click to toggle source
# File lib/utils/http_utils.rb, line 179 def r_404 @session.puts 'HTTP/1.1 404 Not Found' @session.puts "Content-Type: #{@content_type}" @session.puts "Content-Length: #{@length}" end
r_405(options)
click to toggle source
# File lib/utils/http_utils.rb, line 185 def r_405(options) @session.puts 'HTTP/1.1 405 Method Not Allowed' @session.puts "Content-Type: #{@content_type}" @session.puts "Content-Length: #{@length}" @session.puts "Allow: #{options[:method]}" end
r_500()
click to toggle source
# File lib/utils/http_utils.rb, line 192 def r_500 @session.puts 'HTTP/1.1 500 Internal Server Error' @session.puts "Content-Type: #{@content_type}" @session.puts "Content-Length: #{@length}" end
respond(response, options = {}, status = 200, content_type = 'application/json')
click to toggle source
# File lib/utils/http_utils.rb, line 130 def respond(response, options = {}, status = 200, content_type = 'application/json') @content_type = options[:content_type] || content_type if respond_to? "r_#{status}" method("r_#{status}").call unless valid_options? options method("r_#{status}").call options if valid_options? options else r_400 end @session.puts @session.puts response @session.close end
valid_options?(options)
click to toggle source
# File lib/utils/http_utils.rb, line 122 def valid_options?(options) acceptable_keys = %i[location method] return true if acceptable_keys.any? { |key| options.key? key } false end