Skip to content

Refactor SCIM ParamsParser

James Edwards-Jones requested to merge jej/scim-params-parser-refactor into master

What

  • Scim::ParamsParser processes params based on request instead of guessing by contents.
  • Extracts value coercion/casting to a new ValueParser class.
  • Extracts attribute mapping to a new AtrributeTransform class.
  • Extracts GET filter parsing to a new FilterParser class

Why

  • Previously we only processed params for GET /Users if params[:filter] was present, and would have attempted to look at POST params if it was not.
  • This represents most of the work for #35209 (closed), with a further small MR to create the actual behaviour change.
  • Properly supporting the SCIM filtering spec for #13138 (closed) will require us to write an actual parser, likely with parslet. Splitting out these classes reduces the interdependencies between them in preparation for that effort.

Acceptance criteria

Edited by James Edwards-Jones

Merge request reports

Loading