Sha256: ee27bb8e9ad4cce278104bdc6e90e7368275bc7c69d0b73eb51adc9ec7a90dea

Contents?: true

Size: 664 Bytes

Versions: 1

Compression:

Stored size: 664 Bytes

Contents

require_relative "helper"
require_relative "user"
require "cuba"

Cuba.use Rack::Session::Cookie, secret: "R6zSBQWz0VGVSwvT8THurhJwaVqzpnsH27J5FoI58pxoIciDQYvE4opVvDTLMyfjj7c5inIc6PDNaQWvArMvK3"
Cuba.use Shield::Middleware

Cuba.plugin Shield::Helpers

Cuba.define do
  on "secured" do
    if not authenticated(User)
      halt [401, { "Content-Type" => "text/html" }, []]
    end

    res.write "You're in"
  end

  on "foo" do
    puts env.inspect
  end
end

test do
  env = { "PATH_INFO" => "/secured", "SCRIPT_NAME" => "" }
  status, headers, body = Cuba.call(env)

  assert_equal 302, status
  assert_equal "/login?return=%2Fsecured", headers["Location"]
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shield-3.0.0 test/middleware.rb