class Orion::Middleware::CORS

Overview

CORS (Cross-Origin Resource Sharing) middleware Handles preflight requests and sets CORS headers

Usage: use Orion::Middleware::CORS.new( origins: ["https://example.com", "https://app.example.com"], methods: ["GET", "POST", "PUT", "DELETE"], headers: ["Content-Type", "Authorization"], credentials: true, max_age: 3600 )

Or allow all (development only): use Orion::Middleware::CORS.new(allow_all: true)

Included Modules

Defined in:

orion/middleware/cors.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(origins : Array(String) | String = [] of String, methods : Array(String) = ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"], headers : Array(String) = ["Content-Type", "Authorization"], exposed_headers : Array(String) = [] of String, credentials : Bool = false, max_age : Int32 = 3600, allow_all : Bool = false) #

Instance Method Detail

def call(context : HTTP::Server::Context) #

def credentials : Bool #

def credentials=(credentials : Bool) #

def exposed_headers : Array(String) #

def exposed_headers=(exposed_headers : Array(String)) #

def headers : Array(String) #

def headers=(headers : Array(String)) #

def max_age : Int32 #

def max_age=(max_age : Int32) #

def methods : Array(String) #

def methods=(methods : Array(String)) #

def origins : Array(String) | String #

def origins=(origins : Array(String) | String) #