🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis →
Socket
Book a DemoInstallSign in
Socket

rack-cors-csrf_prevention

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rack-cors-csrf_prevention

bundlerRubyGems.org
Version
0.3.0
Version published
Maintainers
1
Created
Source

Rack::Cors::CsrfPrevention

Ruby implementation of CSRF prevention from the Apollo Router.

Installation

Install the gem and add to the application's Gemfile by executing:

bundle add rack-cors-csrf_prevention

If bundler is not being used to manage dependencies, install the gem by executing:

gem install rack-cors-csrf_prevention

Configuration

Rails Configuration

# config/initializers/cors.rb

Rails.application.config.middleware.use Rack::Cors::CsrfPrevention

Paths

By default, the gem protects only /graphql path.

You can set your path using path argument:

config.middleware.use Rack::Cors::CsrfPrevention, path: "/gql"

Also, you can configure multiple paths via paths argument.

Headers

By default, gem allows only X-Apollo-Operation-Name or Apollo-Require-Preflight header for non-preflighted content types.

You can add additional headers for CSRF prevention:

config.middleware.use Rack::Cors::CsrfPrevention,
                      required_headers: %w[SOME-SPECIAL-HEADER]

Error message

By default, gem returns detailed error message that can help API clients in development.

You can hide detailed error message in a production environment:

config.middleware.use Rack::Cors::CsrfPrevention, detailed_error: !Rails.env.production?

Development

After checking out the repo, run bin/setup to install dependencies. Then, run bin/rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bin/rake install. To release a new version, update the version number in version.rb, and then run bin/rake release, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/digitaz/rack-cors-csrf_prevention.

FAQs

Package last updated on 24 Nov 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts