class Fragmenter::Validators::ChecksumValidator

Attributes

errors[R]
request[R]

Public Class Methods

new(request) click to toggle source
# File lib/fragmenter/validators/checksum_validator.rb, line 8
def initialize(request)
  @request = request
  @errors  = []
end

Public Instance Methods

part?() click to toggle source
# File lib/fragmenter/validators/checksum_validator.rb, line 13
def part?
  true
end
valid?() click to toggle source
# File lib/fragmenter/validators/checksum_validator.rb, line 17
def valid?
  matches = expected.nil? || expected == calculated

  unless matches
    errors << "Expected checksum #{expected} to match #{calculated}"
  end

  matches
end

Private Instance Methods

calculated() click to toggle source
# File lib/fragmenter/validators/checksum_validator.rb, line 33
def calculated
  @calculated ||= Digest::MD5.hexdigest(request.body)
end
expected() click to toggle source
# File lib/fragmenter/validators/checksum_validator.rb, line 29
def expected
  request.headers['HTTP_CONTENT_MD5']
end