
Security News
Follow-up and Clarification on Recent Malicious Ruby Gems Campaign
A clarification on our recent research investigating 60 malicious Ruby gems.
grape-formats
is a very small extension to grape
that provides endpoint parameter validation and type coercion for a range of well-known
data formats.
To use these formats, all you need to do is pass the appropriate token as the type
option for any endpoint parameter declared in the params
block using requires
or
optional
. See the usage examples below.
Date
Most of the standard string parsing functions available on the Date
class are
available in Grape::Formats::Dates
. Any parameter value that doesn't match the
expected format will cause a HTTP 400
error to be generated.
require 'grape'
require 'grape/formats/dates'
Dates = Grape::Formats::Dates
class API < Grape::API
resource :calendar do
params do
# Allows '2001-02-03', '20010203' ...
requires :start, type: Dates::Iso8601
# Allows 'H13.02.04' ...
requires :finish, type: Dates::Jisx0301
end
get :agenda do
params[:start] # => #<Date: 2001-02-03 ...>
params[:finish] # => #<Date: 2001-02-04 ...>
# ...
end
end
end
See lib/grape/formats/dates.rb
for a full list of available formats.
DateTime
As with Grape::Formats::Dates
, so too with Grape::Formats::DateTimes
require 'grape/formats/date_times'
DateTimes = Grape::Formats::DateTimes
# ...
params do
requires :start, type: DateTimes::Iso8601
requires :finish, type: DateTimes::Jisx0301
end
See lib/grape/formats/date_times.rb
for available formats.
FAQs
Unknown package
We found that grape-formats demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
A clarification on our recent research investigating 60 malicious Ruby gems.
Security News
ESLint now supports parallel linting with a new --concurrency flag, delivering major speed gains and closing a 10-year-old feature request.
Research
/Security News
A malicious Go module posing as an SSH brute forcer exfiltrates stolen credentials to a Telegram bot controlled by a Russian-speaking threat actor.