sinatra

ruby
require 'sinatra/base'
require 'json'
require_relative 'signature_verifier'

class WebhookApp < Sinatra::Base
  configure do

Verifying Stripe Webhook Signatures in Sinatra with a before Filter

sinatra webhooks stripe
by codesnips 2 tabs
ruby
class ParamSchema
  def initialize(fields)
    @fields = fields
  end

  def coerce(params)

Typed Query Param Coercion in a Sinatra before Filter with Schema Defaults

sinatra rack params
by codesnips 2 tabs
ruby
require 'sinatra/base'
require 'json'

class HealthApp < Sinatra::Base
  configure do
    set :dump_errors, true

Mounting Modular Sinatra Apps Under Route Prefixes with Rack::URLMap

sinatra rack urlmap
by codesnips 3 tabs
ruby
require "rack/attack"
require "redis-store"

class Rack::Attack
  cache.store = Redis::Store.new(url: ENV.fetch("REDIS_URL", "redis://localhost:6379/1"))

Rate-Limiting a Sinatra JSON API With Rack::Attack Throttles and Redis

sinatra rack rack-attack
by codesnips 3 tabs
ruby
require 'sinatra/base'
require_relative 'upload_store'

class UploadApp < Sinatra::Base
  MAX_BYTES = 50 * 1024 * 1024

Streaming Multipart File Uploads to Disk in Sinatra Without Buffering

sinatra rack file-upload
by codesnips 3 tabs
ruby
require 'sinatra'
require 'json'
require_relative 'book'
require_relative 'helpers'

set :books, {

Sinatra Content Negotiation: Serve HTML or JSON by Accept Header

sinatra rack content-negotiation
by codesnips 4 tabs
ruby
require 'uri'
require 'rack/utils'

module PaginationLinks
  module_function

Cursor-Style Pagination With RFC 5988 Link Headers in Sinatra

sinatra pagination rest-api
by codesnips 3 tabs