Skip to content

madcid/grape-on-rack

This branch is 96 commits behind ruby-grape/grape-on-rack:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

73d34be · Jul 28, 2014

History

63 Commits
Jul 28, 2014
Apr 4, 2014
Jan 8, 2014
Jan 3, 2014
Jul 28, 2014
Jan 6, 2013
Feb 19, 2012
Jul 28, 2014
Jul 28, 2014
Jul 28, 2014
Jul 28, 2014
Feb 23, 2012
Jun 25, 2014
May 27, 2014
Jul 28, 2014
Sep 16, 2013

Repository files navigation

Grape API on Rack

Build Status

A Grape API mounted on Rack.

  • ping: a hello world example that returns a JSON document
  • post_put: a simple POST and PUT example
  • post_json: an example that shows a POST of JSON data
  • rescue_from: an example of rescue_from that wraps all exceptions in an HTTP error code 500
  • path_versioning: an example that uses path-based versioning
  • header_versioning: an example that uses vendor header-based versioning
  • wrap_response: a middleware that wraps all responses and always returns HTTP code 200
  • content_type: an example that overrides the default Content-Type
  • upload_file: an example that demonstrates a file upload and download
  • entites: an example of using grape-entity

See

There's a deployed grape-on-rack on Heroku.

Run

$ bundle install
$ rackup

Loading NewRelic in developer mode ...
[2013-06-20 08:57:58] INFO  WEBrick 1.3.1
[2013-06-20 08:57:58] INFO  ruby 1.9.3 (2013-02-06) [x86_64-darwin11.4.2]
[2013-06-20 08:57:58] INFO  WEBrick::HTTPServer#start: pid=247 port=9292

Hello World

Navigate to http://localhost:9292/api/ping with a browser or use curl.

$ curl http://localhost:9292/api/ping

{"ping":"pong"}

Get Plain Text

$ curl http://localhost:9292/api/data

A red brown fox jumped over the road.

Upload a File

$ curl -X POST -i -F image_file=@spec/fixtures/grape_logo.png http://localhost:9292/api/avatar

{"filename":"grape_logo.png","size":4272}

Upload and Download a File

$ curl -X POST -i -F file=@spec/fixtures/grape_logo.png http://localhost:9292/api/download.png
$ curl -X POST -i -F file=@api/ping.rb http://localhost:9292/api/download.rb

List Routes

rake routes

Explore the API

Explore the API using Swagger UI. Run the application and point the explorer to http://localhost:9292/api/swagger_doc or http://grape-on-rack.herokuapp.com/api/swagger_doc.

New Relic

The application is setup with NewRelic w/ Developer Mode. Navigate to http://localhost:9292/newrelic after making some API calls.

About

A demo Grape API mounted on RACK.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published