Sha256: 1ca1b7c6ea3081bebc2a01403910022534d8828e41ebdd845985272daf162c48

Contents?: true

Size: 932 Bytes

Versions: 171

Compression:

Stored size: 932 Bytes

Contents

#!/usr/bin/env ruby
# -*- encoding: binary -*-
# simple chunked HTTP PUT request generator (and just that),
# it reads stdin and writes to stdout so socat can write to a
# UNIX or TCP socket (or to another filter or file) along with
# a Content-MD5 trailer.
require 'digest/md5'
$stdout.sync = $stderr.sync = true
$stdout.binmode
$stdin.binmode

bs = ENV['bs'] ? ENV['bs'].to_i : 4096

if ARGV.grep("--no-headers").empty?
  $stdout.write(
      "PUT / HTTP/1.1\r\n" \
      "Host: example.com\r\n" \
      "Transfer-Encoding: chunked\r\n" \
      "Trailer: Content-MD5\r\n" \
      "\r\n"
    )
end

digest = Digest::MD5.new
if buf = $stdin.readpartial(bs)
  begin
    digest.update(buf)
    $stdout.write("%x\r\n" % [ buf.size ])
    $stdout.write(buf)
    $stdout.write("\r\n")
  end while $stdin.read(bs, buf)
end

digest = [ digest.digest ].pack('m').strip
$stdout.write("0\r\n")
$stdout.write("Content-MD5: #{digest}\r\n\r\n")

Version data entries

171 entries across 171 versions & 14 rubygems

Version Path
unicorn-6.1.0 t/bin/content-md5-put
unicorn-6.0.0 t/bin/content-md5-put
unicorn-5.8.0 t/bin/content-md5-put
unicorn-5.7.0 t/bin/content-md5-put
unicorn-5.6.0 t/bin/content-md5-put
unicorn-5.5.5 t/bin/content-md5-put
unicorn-5.5.4 t/bin/content-md5-put
unicorn-5.5.3 t/bin/content-md5-put
unicorn-5.5.2 t/bin/content-md5-put
unicorn-5.5.1 t/bin/content-md5-put
unicorn-5.5.0.1.g6836 t/bin/content-md5-put
unicorn-5.5.0 t/bin/content-md5-put
unicorn-5.5.0.pre1 t/bin/content-md5-put
unicorn-5.4.1 t/bin/content-md5-put
unicorn-5.4.0 t/bin/content-md5-put
unicorn-5.3.1 t/bin/content-md5-put
unicorn-shopify-5.3.0 t/bin/content-md5-put
unicorn-5.3.0 t/bin/content-md5-put
unicorn-5.3.0.pre1 t/bin/content-md5-put
unicorn-shopify-5.2.0.6 t/bin/content-md5-put