Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
If you want to use this gem with Rails 3x/4.0 please specify version 0.7.0 in your Gemfile.
Version 0.8 of this gem is compatible only with Rails 4.1.
A quick and easy way to visually test your Rails application's API.
There are already many awesome API clients (such as Postman), so why reinvent the wheel?
API Taster compared to alternatives, have the following advantages:
Add API Taster in your gemfile:
gem 'api_taster'
Mount API Taster, this will allow you to visit API Taster from within your app. For example:
Rails.application.routes.draw do
mount ApiTaster::Engine => "/api_taster" if Rails.env.development?
end
In lib/api_tasters/routes.rb
, define parameters for each API endpoint after the normal routes definition block. For example:
if Rails.env.development?
ApiTaster.routes do
desc 'Get a __list__ of users'
get '/users'
post '/users', {
:user => {
:name => 'Fred'
}
}
get '/users/:id', {
:id => 1
}
put '/users/:id', {
:id => 1, :user => {
:name => 'Awesome'
}
}
delete '/users/:id', {
:id => 1
}
end
end
You can change the default lib/api_tasters/routes.rb
path by creating config/initializers/api_taster.rb
with the content below:
ApiTaster.route_path = Rails.root.to_s + "/app/api_tasters" # just an example
If you use a test factory such as FactoryGirl, you can require your test factories and share the params. For example in FactoryGirl you can use the attributes_for(:name_of_factory)
method.
If there are certain headers (such as auth token) that need to be present to
consume an API endpoint, you may set then in APITaster.global_headers
before
APITaster.routes
:
ApiTaster.global_headers = {
'Authorization' => 'Token token=teGpfbVitpnUwm7qStf9'
}
ApiTaster.routes do
# your route definitions
end
If there are certain params (such as API version and auth token) that need to be present in every API endpoint, you may set them in ApiTaster.global_params
before ApiTaster.routes
:
ApiTaster.global_params = {
:version => 1,
:auth_token => 'teGpfbVitpnUwm7qStf9'
}
ApiTaster.routes do
# your route definitions
end
Before each route definitions, you may use desc
to add some comments. Markdown is supported.
desc 'Get a __list__ of users'
get '/users'
For each route definition, you may supply an optional third parameter (hash) as metadata:
get '/users', {}, { :meta => 'data' }
The metadata option is useful for passing in arbitrary data for a route definition. For example, you could specify response expectations so that your test suite could tap into them.
Metadata for every route definition are stored in ApiTaster::Route.metadata
. Please read the source code to find out how to get metadata for a particular route.
Instead of manually finding out which route definitions you need, API Taster provides a warning page that shows you all the missing definitions.
APIs evolve - especially during the development stage. To keep ApiTaster.routes
in sync with your route definitions, API Taster provides a warning page that shows you the definitions that are obsolete/mismatched therefore you could correct or remove them.
This gem is released under the MIT License.
FAQs
Unknown package
We found that api_taster demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.