Feature #875

Relaxed-validation mode

Added by Mick Van Fossen over 7 years ago. Updated over 6 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:


New design for RRDS has potential new requirements for WSS. I was just chatting with Mike and thought I'd capture these ideas here.

Mike suggested a new property in service.config, on a per-endpoint basis, which tells WSS to go into a Relaxed-validation mode for that endpoint. Default behavior is that of the current WSS (strict validation of request parameters listed in param.config, AND throwing an exception if the request contains a parameter not found in param.config).

The definition of Relaxed-validation mode is really a mix of validating the known parameters and ignoring the unknown:

  1. Validate request parameters that are found in the param.config list.
  2. Any request parameter that is not found in the list in param.config is IGNORED.

The idea is that a new service like RRDS can take advantage of WSS validation for things like SNCL/Start/End, and simply pass along anything else in the request over to Mustang via fetch methods (mustang-lib).

RRDS will do a quick query to Mustang’s metrics service to validate parameters.

Advantage to development:
If Mustang changes a metric or adds a new one, RRDS does not have to be re-configured, or rebuilt & deployed.

Benefit to the user:
The user doesn’t need to learn a new service: They already know SNCL/Start/End, and they already are familiar with Mustang’s parameter set.


#1 Updated by Mike Stults over 7 years ago

After reviewing code and discussion, the implementation plan is:
- enable a new parameter, per endpoint, named "relaxedValidation"
- when relaxedValidation=true
- - WSS will not throw the exception "No type defined ..." when a user interface parameter is not defined in param.cfg file for the respective endpoint
- - WSS will skip parameter value type checking for undefined interface parameters
- - WSS will also skip setting HTTP return media type if the reserved parameter "format" is used without being defined in the param.cfg file
- - WSS will do validation checking as it does now if a parameter is defined in param.cfg, this also means "format" must be explicitly defined as is the case now.
- - WSS parameter validation will return a complete command line string as it currently does, including all the non-validated values
- if relaxedValidation is false, or not present, WSS operates as it currently does for parameter value validation

#2 Updated by Mike Stults over 7 years ago

  • Resolution set to Fixed

git commit -m "issue 875, added new property relaxedValidation and capability, per endpoint, to skip parameter checking if respecitive parameter is not defined in param.cfg"
[master 5e245c0]

#3 Updated by Mike Stults over 6 years ago

  • Target version set to 2.4

Also available in: Atom PDF