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

Case sensitive params #21

Open
Zarquan opened this issue May 10, 2023 · 1 comment
Open

Case sensitive params #21

Zarquan opened this issue May 10, 2023 · 1 comment

Comments

@Zarquan
Copy link
Member

Zarquan commented May 10, 2023

Allowing param names to be case insensitive makes it harder to write a DALI compatible service using modern development frameworks.

DALI/DALI.tex

Lines 580 to 586 in f86401e

\subsection{Case Sensitivity}
Parameter names are not case sensitive; a DAL service must treat
\hbox{upper-,} \hbox{lower-,}
and mixed-case parameter names as equal. Parameter values are case sensitive
unless a concrete DAL service specification explicitly states that the values of
a specific parameter are to be treated as case-insensitive. For example, the
following are equivalent:

Almost all of the current development tools assume that param names will be case sensitive. This adds yet another bit of friction that new developers have to contend with.

@pdowler
Copy link
Collaborator

pdowler commented May 29, 2023

This is largely a historical issue; DALI is to a large extent a refactoring of existing practices (eg existing RECs) so that they become consistent practices... I don't disagree that this causes pain for developers, but I think the idea was to not cause pain for users.

Specifically, it combines with another common practice: services should ignore any params they don't grok so clients can add "junk" without breaking anything. The reason this is related is that you can't have this "silently ignore" and help users when they use the wrong case for a param name without making assumptions.... eg service accepts upper case POS={something} and a user might include "pos=circle 12 34 1" by mistake or they might intentionally include "pos=uncertain" to tag a request for their own purposes. The service can either ignore "pos" or give an error due to unknown parameter input (which might help the first case but break the second)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants