GrapeSession (Project-State: Proposal)
Make Rails cookies based session handling available for grape. session
method
is added to the Endpoint classes.
The following classes will be monkey patched:
Grape::Endpoint
Grape::Request
ActionDispatch::Cookies::CookieJar
Installation
Add this line to your application's Gemfile:
gem 'grape_session'
And then execute:
$ bundle
Or install it yourself as:
$ gem install grape_session
Usage
class API < Grape::API
include GrapeSession::Ext::API
# Setup cookie settings
GrapeCookies::Middleware::EnvSetup.configure do
'signed cookie'
'encrypted cookie'
'signed encrypted cookie'
secret_token 'secret_token'
secret_key_base 'secret base'
:json
end
# Setup session settings
GrapeSession::Configuration.configure do
# Rails specific ActionDispatch::Compatibility
key '_grape_session_id'
# Rack::Session::Abstract::ID specific
domain 'foo.com'
path '/'
expire_after 2592000
secure false
httponly true
defer false
renew false
end
get '/test' do
session['session_test'] = 'session_test_value'
end
end
Contributing
- Fork it ( https://github.com/faber-lotto/grape_session/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request