class Amber::Schema::Parser::MultipartParser

Overview

Enhanced multipart parser that creates file data structures

Defined in:

amber/schema/parsers/multipart_parser.cr

Class Method Summary

Class Method Detail

def self.parse_multipart_request(request : HTTP::Request, budget : Amber::Router::Parsers::ParamBudget = request.param_budget) : Hash(String, JSON::Any) #

Parse multipart form data, handling both files and regular fields


[View source]
def self.parse_router_params(params : Amber::Router::Types::Params, files : Amber::Router::Types::Files, limits : Amber::Configuration::ParamsConfig = Amber.settings.params) : Hash(String, JSON::Any) #

Builds schema data from the router's cached multipart parse. This keeps file uploads available after routing and CSRF have inspected the request. Every field and file is admitted against a fresh budget built from limits.


[View source]
def self.parse_router_params(params : Amber::Router::Types::Params, files : Amber::Router::Types::Files, budget : Amber::Router::Parsers::ParamBudget) : Hash(String, JSON::Any) #

Builds schema data from fields and files that budget already admitted (the request's own budget charged them while routing parsed the body). One budget covers fields and files, so padding stays cumulative.


[View source]