this post was submitted on 09 Jul 2024
16 points (100.0% liked)

Programming

17419 readers
23 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 5 points 4 months ago (2 children)

Weak use-case.
Wrong solution (IMHO).

If one must use a header for this, how Zapier or Clearbit do it, as mentioned in appendix A.2, is the way to go.

Bloating HTTP and its implementations for REST-specific use-cases shouldn't be generally accepted.

[–] [email protected] 6 points 4 months ago (1 children)

Bloating HTTP and its implementations for REST-specific use-cases

I have no idea what are you talking about. Setting a request/response header is not bloating HTTP. That's like claiming that setting a field in a response body is bloating JSON.

[–] [email protected] 1 points 4 months ago

Proper HTTP implementations in proper languages utilize header-name enums for strict checking/matching, and for performance by e.g. skipping unnecessary string allocations, not keeping known strings around, ..etc. Every standard header name will have to added as a variant to such enums, and its string representation as a constant/static.

Not sure how you thought that shares equivalency with random JSON field names.

[–] [email protected] 1 points 4 months ago (1 children)

You're saying wrong solution but point to the right solution in the same standard?

  • Description: Zapier uses two custom HTTP header fields named X- API-Deprecation-Date and X-API-Deprecation-Info

Is your issue with the field name only? Why do you say wrong solution then?

[–] [email protected] 1 points 4 months ago

Yeah, sorry. My comment was maybe too curt.

My thoughts are similar to those shared by @Domi in a top comment. If an API user is expected to be wary enough to check for such a header, then they would also be wary enough to check the response of an endpoint dedicated to communicating such deprecation info, or wary enough to notice API requests being redirected to a path indicating deprecation.

I mentioned Zapier or Clearbit as examples of doing it in what I humbly consider the wrong way, but still a way that doesn't bloat the HTTP standard.