Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v5.0.0 #131

Merged
merged 166 commits into from
Jan 29, 2025
Merged

v5.0.0 #131

merged 166 commits into from
Jan 29, 2025

Conversation

pimbrouwers
Copy link
Owner

Added

  • Declarative OpenAPI support.
  • RequestData (and RequestValue) to support complex form & query submissions,
    • Provided by an HTTP key/value pair (i.e., name=falco&classification=toolkit) parser.
    • A derivative FormData contains parsed RequestValue and access to IFormFileCollection.
  • HttpContext.Plug<T> for generic injection support of dependencies within HttpHandler's (service locator pattern).
  • Request.getJson<T> for generic JSON request deserialization, using default settings (property name case-insensitive, trailing commas allowed).
  • Request.getCookies, replacing Request.getCookie.
  • Response.signInOptions to sign in claim principal for provided scheme and options then responds with a 301 redirect to provided URL.
  • Response.challengeAndRedirect, replacing Response.challengeWithRedirect.
  • Routing.map[Get|Head|Post|Put|Patch|Delete|Options|Trace|Any] which produces HttpEndpoint by associating a route pattern to an HttpHandler after mapping route.
  • Routing.setDisplayName to set the display name of the endpoint.
  • Routing.setOrder to set the order number of the endpoint.
  • WebApplication.run, registers the provided HttpHandler as the terminal middleware and runs the application.

Changed

  • Xss module renamed to Xsrf. Functions: Xsrf.antiforgeryInput, Xsrf.getToken & Xsrf.validateToken.

Fixed

  • Missing cancellation token pass-through during form reading, multipart/form-data streaming and JSON serialization/deserialization.
  • Empty request body support for JSON request methods.
  • WebApplication.UseFalcoNotFound & IApplicationBuilder.UseFalcoNotFound to correctly terminate by returning unit akin to the native method.

Removed

  • net6.0 support dropped (end of life 2024-11-12).
  • webHost [||] {} builder removed.
  • config {} builder removed.
  • HttpContext.GetLogger<T>() extension removed.
  • IApplicationBuilder.IsDevelopment(), IApplicationBuilder.UseWhen() extensions removed.
  • Services.inject<T> (and overloads) removed.
  • Response.withContentLength removed (unsupported).
  • StringCollectionReader and derivatives removed (FormCollectionReader, QueryCollectionReader, RouteCollectionReader, HeaderCollectionReader, and CookieCollectionReader).
    • All replaced by homogenous RequestData type.
  • Request.streamForm, Request.streamFormSecure, Request.mapFormStream and Request.mapFormStreamSecure removed.
  • Falco.Security.Crypto and Falco.Security.Auth modules removed.
  • Removed Request.getCookie, renamed Request.getCookies.
  • Removed Response.challengeWithRedirect, renamed Response.challengeAndRedirect.
  • Removed Response.debugRequest.

pimbrouwers and others added 30 commits December 27, 2022 11:46
Fix jsonOptionsHandler example in response docs
internal writeBytes and writeStream improved
Localized string parsing for SCR
hosting to replace previous extensions file
@pimbrouwers
Copy link
Owner Author

pimbrouwers commented Jan 29, 2025

The DataTimeOffset tests have been temporarily disabled due to a linux specific bug.

See: b70a734,
And: dotnet/runtime#97627

@pimbrouwers pimbrouwers merged commit ee91fca into master Jan 29, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants