Sha256: 97c974eb26bbe10b044343a5a93635baea396ceb01c024d7f61234fd242f12d1

Contents?: true

Size: 828 Bytes

Versions: 3

Compression:

Stored size: 828 Bytes

Contents

require "rbconfig"
require 'test/unit'
require 'puma/server'

require 'socket'

# UNIX sockets are not recommended on JRuby
# (or Windows)
unless defined?(JRUBY_VERSION) || RbConfig::CONFIG["host_os"] =~ /mingw|mswin/
  class TestPumaUnixSocket < Test::Unit::TestCase

    App = lambda { |env| [200, {}, ["Works"]] }

    Path = "test/puma.sock"

    def setup
      @server = Puma::Server.new App
      @server.add_unix_listener Path
      @server.run
    end

    def teardown
      @server.stop(true)
      File.unlink Path if File.exist? Path
    end

    def test_server
      sock = UNIXSocket.new Path

      sock << "GET / HTTP/1.0\r\nHost: blah.com\r\n\r\n"

      expected = "HTTP/1.0 200 OK\r\nContent-Length: 5\r\n\r\nWorks"

      assert_equal expected, sock.read(expected.size)

      sock.close
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
puma-2.12.0-java test/test_unix_socket.rb
puma-2.11.3-java test/test_unix_socket.rb
puma-2.11.2-java test/test_unix_socket.rb