gitextract_tszz0ncs/ ├── .coveralls.yml ├── .dockerignore ├── .github/ │ ├── FUNDING.yml │ └── workflows/ │ ├── danger-comment.yml │ ├── danger.yml │ ├── edge.yml │ └── test.yml ├── .gitignore ├── .rspec ├── .rubocop.yml ├── .rubocop_todo.yml ├── .simplecov ├── .yardopts ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Dangerfile ├── Gemfile ├── Guardfile ├── LICENSE ├── README.md ├── RELEASING.md ├── Rakefile ├── SECURITY.md ├── UPGRADING.md ├── benchmark/ │ ├── compile_many_routes.rb │ ├── issue_mounting.rb │ ├── large_model.rb │ ├── nested_params.rb │ ├── remounting.rb │ ├── resource/ │ │ └── vrp_example.json │ └── simple.rb ├── docker/ │ ├── Dockerfile │ └── entrypoint.sh ├── docker-compose.yml ├── gemfiles/ │ ├── dry_validation.gemfile │ ├── grape_entity.gemfile │ ├── hashie.gemfile │ ├── multi_json.gemfile │ ├── multi_xml.gemfile │ ├── rack_2_2.gemfile │ ├── rack_3_0.gemfile │ ├── rack_3_1.gemfile │ ├── rack_3_2.gemfile │ ├── rack_edge.gemfile │ ├── rails_7_2.gemfile │ ├── rails_8_0.gemfile │ ├── rails_8_1.gemfile │ └── rails_edge.gemfile ├── grape.gemspec ├── lib/ │ ├── grape/ │ │ ├── api/ │ │ │ └── instance.rb │ │ ├── api.rb │ │ ├── content_types.rb │ │ ├── cookies.rb │ │ ├── declared_params_handler.rb │ │ ├── dry_types.rb │ │ ├── dsl/ │ │ │ ├── callbacks.rb │ │ │ ├── declared.rb │ │ │ ├── desc.rb │ │ │ ├── headers.rb │ │ │ ├── helpers.rb │ │ │ ├── inside_route.rb │ │ │ ├── logger.rb │ │ │ ├── middleware.rb │ │ │ ├── parameters.rb │ │ │ ├── request_response.rb │ │ │ ├── routing.rb │ │ │ ├── settings.rb │ │ │ └── validations.rb │ │ ├── endpoint.rb │ │ ├── env.rb │ │ ├── error_formatter/ │ │ │ ├── base.rb │ │ │ ├── json.rb │ │ │ ├── serializable_hash.rb │ │ │ ├── txt.rb │ │ │ └── xml.rb │ │ ├── error_formatter.rb │ │ ├── exceptions/ │ │ │ ├── base.rb │ │ │ ├── conflicting_types.rb │ │ │ ├── empty_message_body.rb │ │ │ ├── incompatible_option_values.rb │ │ │ ├── invalid_accept_header.rb │ │ │ ├── invalid_formatter.rb │ │ │ ├── invalid_message_body.rb │ │ │ ├── invalid_parameters.rb │ │ │ ├── invalid_response.rb │ │ │ ├── invalid_version_header.rb │ │ │ ├── invalid_versioner_option.rb │ │ │ ├── invalid_with_option_for_represent.rb │ │ │ ├── method_not_allowed.rb │ │ │ ├── missing_group_type.rb │ │ │ ├── missing_mime_type.rb │ │ │ ├── missing_vendor_option.rb │ │ │ ├── too_deep_parameters.rb │ │ │ ├── too_many_multipart_files.rb │ │ │ ├── unknown_auth_strategy.rb │ │ │ ├── unknown_parameter.rb │ │ │ ├── unknown_params_builder.rb │ │ │ ├── unknown_validator.rb │ │ │ ├── unsupported_group_type.rb │ │ │ ├── validation.rb │ │ │ ├── validation_array_errors.rb │ │ │ └── validation_errors.rb │ │ ├── formatter/ │ │ │ ├── base.rb │ │ │ ├── json.rb │ │ │ ├── serializable_hash.rb │ │ │ ├── txt.rb │ │ │ └── xml.rb │ │ ├── formatter.rb │ │ ├── json.rb │ │ ├── locale/ │ │ │ └── en.yml │ │ ├── middleware/ │ │ │ ├── auth/ │ │ │ │ ├── base.rb │ │ │ │ ├── dsl.rb │ │ │ │ ├── strategies.rb │ │ │ │ └── strategy_info.rb │ │ │ ├── base.rb │ │ │ ├── error.rb │ │ │ ├── filter.rb │ │ │ ├── formatter.rb │ │ │ ├── globals.rb │ │ │ ├── stack.rb │ │ │ ├── versioner/ │ │ │ │ ├── accept_version_header.rb │ │ │ │ ├── base.rb │ │ │ │ ├── header.rb │ │ │ │ ├── param.rb │ │ │ │ └── path.rb │ │ │ └── versioner.rb │ │ ├── namespace.rb │ │ ├── params_builder/ │ │ │ ├── base.rb │ │ │ ├── hash.rb │ │ │ ├── hash_with_indifferent_access.rb │ │ │ └── hashie_mash.rb │ │ ├── params_builder.rb │ │ ├── parser/ │ │ │ ├── base.rb │ │ │ ├── json.rb │ │ │ └── xml.rb │ │ ├── parser.rb │ │ ├── path.rb │ │ ├── presenters/ │ │ │ └── presenter.rb │ │ ├── railtie.rb │ │ ├── request.rb │ │ ├── router/ │ │ │ ├── base_route.rb │ │ │ ├── greedy_route.rb │ │ │ ├── pattern.rb │ │ │ └── route.rb │ │ ├── router.rb │ │ ├── serve_stream/ │ │ │ ├── file_body.rb │ │ │ ├── sendfile_response.rb │ │ │ └── stream_response.rb │ │ ├── util/ │ │ │ ├── api_description.rb │ │ │ ├── base_inheritable.rb │ │ │ ├── cache.rb │ │ │ ├── endpoint_configuration.rb │ │ │ ├── header.rb │ │ │ ├── inheritable_setting.rb │ │ │ ├── inheritable_values.rb │ │ │ ├── lazy/ │ │ │ │ ├── block.rb │ │ │ │ ├── value.rb │ │ │ │ ├── value_array.rb │ │ │ │ ├── value_enumerable.rb │ │ │ │ └── value_hash.rb │ │ │ ├── media_type.rb │ │ │ ├── registry.rb │ │ │ ├── reverse_stackable_values.rb │ │ │ ├── stackable_values.rb │ │ │ └── translation.rb │ │ ├── validations/ │ │ │ ├── attributes_iterator.rb │ │ │ ├── contract_scope.rb │ │ │ ├── multiple_attributes_iterator.rb │ │ │ ├── param_scope_tracker.rb │ │ │ ├── params_documentation.rb │ │ │ ├── params_scope.rb │ │ │ ├── single_attribute_iterator.rb │ │ │ ├── types/ │ │ │ │ ├── array_coercer.rb │ │ │ │ ├── custom_type_coercer.rb │ │ │ │ ├── custom_type_collection_coercer.rb │ │ │ │ ├── dry_type_coercer.rb │ │ │ │ ├── file.rb │ │ │ │ ├── invalid_value.rb │ │ │ │ ├── json.rb │ │ │ │ ├── multiple_type_coercer.rb │ │ │ │ ├── primitive_coercer.rb │ │ │ │ ├── set_coercer.rb │ │ │ │ └── variant_collection_coercer.rb │ │ │ ├── types.rb │ │ │ ├── validator_factory.rb │ │ │ └── validators/ │ │ │ ├── all_or_none_of_validator.rb │ │ │ ├── allow_blank_validator.rb │ │ │ ├── as_validator.rb │ │ │ ├── at_least_one_of_validator.rb │ │ │ ├── base.rb │ │ │ ├── coerce_validator.rb │ │ │ ├── contract_scope_validator.rb │ │ │ ├── default_validator.rb │ │ │ ├── exactly_one_of_validator.rb │ │ │ ├── except_values_validator.rb │ │ │ ├── length_validator.rb │ │ │ ├── multiple_params_base.rb │ │ │ ├── mutually_exclusive_validator.rb │ │ │ ├── presence_validator.rb │ │ │ ├── regexp_validator.rb │ │ │ ├── same_as_validator.rb │ │ │ └── values_validator.rb │ │ ├── validations.rb │ │ ├── version.rb │ │ └── xml.rb │ └── grape.rb └── spec/ ├── grape/ │ ├── api/ │ │ ├── custom_validations_spec.rb │ │ ├── deeply_included_options_spec.rb │ │ ├── defines_boolean_in_params_spec.rb │ │ ├── documentation_spec.rb │ │ ├── inherited_helpers_spec.rb │ │ ├── instance_spec.rb │ │ ├── invalid_format_spec.rb │ │ ├── mount_and_helpers_order_spec.rb │ │ ├── mount_and_rescue_from_spec.rb │ │ ├── mounted_helpers_inheritance_spec.rb │ │ ├── namespace_parameters_in_route_spec.rb │ │ ├── nested_helpers_spec.rb │ │ ├── optional_parameters_in_route_spec.rb │ │ ├── parameters_modification_spec.rb │ │ ├── patch_method_helpers_spec.rb │ │ ├── recognize_path_spec.rb │ │ ├── required_parameters_in_route_spec.rb │ │ ├── required_parameters_with_invalid_method_spec.rb │ │ ├── routes_with_requirements_spec.rb │ │ ├── shared_helpers_exactly_one_of_spec.rb │ │ └── shared_helpers_spec.rb │ ├── api_remount_spec.rb │ ├── api_spec.rb │ ├── content_types_spec.rb │ ├── dsl/ │ │ ├── callbacks_spec.rb │ │ ├── desc_spec.rb │ │ ├── headers_spec.rb │ │ ├── helpers_spec.rb │ │ ├── inside_route_spec.rb │ │ ├── logger_spec.rb │ │ ├── middleware_spec.rb │ │ ├── parameters_spec.rb │ │ ├── request_response_spec.rb │ │ ├── routing_spec.rb │ │ ├── settings_spec.rb │ │ └── validations_spec.rb │ ├── endpoint/ │ │ └── declared_spec.rb │ ├── endpoint_spec.rb │ ├── exceptions/ │ │ ├── base_spec.rb │ │ ├── body_parse_errors_spec.rb │ │ ├── invalid_accept_header_spec.rb │ │ ├── invalid_formatter_spec.rb │ │ ├── invalid_response_spec.rb │ │ ├── invalid_versioner_option_spec.rb │ │ ├── missing_group_type_spec.rb │ │ ├── missing_mime_type_spec.rb │ │ ├── unknown_validator_spec.rb │ │ ├── unsupported_group_type_spec.rb │ │ ├── validation_errors_spec.rb │ │ └── validation_spec.rb │ ├── integration/ │ │ ├── global_namespace_function_spec.rb │ │ ├── rack_sendfile_spec.rb │ │ └── rack_spec.rb │ ├── loading_spec.rb │ ├── middleware/ │ │ ├── auth/ │ │ │ ├── base_spec.rb │ │ │ ├── dsl_spec.rb │ │ │ └── strategies_spec.rb │ │ ├── base_spec.rb │ │ ├── error_spec.rb │ │ ├── exception_spec.rb │ │ ├── formatter_spec.rb │ │ ├── globals_spec.rb │ │ ├── stack_spec.rb │ │ ├── versioner/ │ │ │ ├── accept_version_header_spec.rb │ │ │ ├── header_spec.rb │ │ │ ├── param_spec.rb │ │ │ └── path_spec.rb │ │ └── versioner_spec.rb │ ├── named_api_spec.rb │ ├── params_builder/ │ │ ├── hash_spec.rb │ │ └── hash_with_indifferent_access_spec.rb │ ├── parser_spec.rb │ ├── path_spec.rb │ ├── presenters/ │ │ └── presenter_spec.rb │ ├── request_spec.rb │ ├── router/ │ │ └── greedy_route_spec.rb │ ├── router_spec.rb │ ├── util/ │ │ ├── inheritable_setting_spec.rb │ │ ├── inheritable_values_spec.rb │ │ ├── media_type_spec.rb │ │ ├── registry_spec.rb │ │ ├── reverse_stackable_values_spec.rb │ │ ├── stackable_values_spec.rb │ │ └── translation_spec.rb │ ├── validations/ │ │ ├── multiple_attributes_iterator_spec.rb │ │ ├── param_scope_tracker_spec.rb │ │ ├── params_documentation_spec.rb │ │ ├── params_scope_spec.rb │ │ ├── single_attribute_iterator_spec.rb │ │ ├── types/ │ │ │ ├── array_coercer_spec.rb │ │ │ ├── primitive_coercer_spec.rb │ │ │ └── set_coercer_spec.rb │ │ ├── types_spec.rb │ │ └── validators/ │ │ ├── all_or_none_validator_spec.rb │ │ ├── allow_blank_validator_spec.rb │ │ ├── at_least_one_of_validator_spec.rb │ │ ├── base_i18n_spec.rb │ │ ├── coerce_validator_spec.rb │ │ ├── contract_scope_validator_spec.rb │ │ ├── default_validator_spec.rb │ │ ├── exactly_one_of_validator_spec.rb │ │ ├── except_values_validator_spec.rb │ │ ├── length_validator_spec.rb │ │ ├── mutually_exclusive_spec.rb │ │ ├── presence_validator_spec.rb │ │ ├── regexp_validator_spec.rb │ │ ├── same_as_validator_spec.rb │ │ └── values_validator_spec.rb │ └── validations_spec.rb ├── integration/ │ ├── dry_validation/ │ │ └── dry_validation_spec.rb │ ├── grape_entity/ │ │ └── entity_spec.rb │ ├── hashie/ │ │ └── hashie_spec.rb │ ├── multi_json/ │ │ └── json_spec.rb │ ├── multi_xml/ │ │ └── xml_spec.rb │ └── rails/ │ ├── mounting_spec.rb │ └── railtie_spec.rb ├── shared/ │ └── versioning_examples.rb ├── spec_helper.rb └── support/ ├── basic_auth_encode_helpers.rb ├── chunked_response.rb ├── content_type_helpers.rb ├── cookie_jar.rb ├── deprecated_warning_handlers.rb ├── deregister.rb ├── endpoint_faker.rb ├── file_streamer.rb ├── integer_helpers.rb └── versioned_helpers.rb