class Gack::Response
Build a Gemini response
Constants
- BodyNotAllowedError
- InvalidMimeError
- InvalidStatusCodeError
- META_MAX_BYTES
- MIME
- MetaTooLongError
Attributes
body[R]
meta[R]
status_code[R]
Public Class Methods
new(status_code, meta = nil, body = nil)
click to toggle source
# File lib/gack/response.rb, line 21 def initialize(status_code, meta = nil, body = nil) @status_code = Integer(status_code) raise InvalidStatusCodeError unless StatusCodes::VALID_CODES.include?(@status_code) @meta = meta raise MetaTooLongError if @meta && @meta.bytesize > META_MAX_BYTES raise InvalidMimeError if @status_code == StatusCodes::SUCCESS && @meta.nil? @body = body raise BodyNotAllowedError if @body && @status_code != StatusCodes::SUCCESS end
Public Instance Methods
finalize()
click to toggle source
# File lib/gack/response.rb, line 36 def finalize return "#{status_code}\r\n" unless meta "#{status_code} #{meta}\r\n#{body}" end