Subject: [art] [Technical Errata Reported] RFC7807 (5515)

From: RFC Errata System <[email-masked]>
Date: Fri, 5 Oct 2018 07:01:37 -0700 (PDT)

The following errata report has been submitted for RFC7807,
"Problem Details for HTTP APIs".

--------------------------------------
You may review the report below and at:
http://www.rfc-editor.org/errata/eid5515

--------------------------------------
Type: Technical
Reported by: Steven <[email-masked]>

Section: 3.1

Original Text
-------------
   o  "type" (string) - A URI reference [RFC3986] that identifies the
      problem type.  This specification encourages that, when
      dereferenced, it provide human-readable documentation for the
      problem type (e.g., using HTML [W3C.REC-html5-20141028]).  When
      this member is not present, its value is assumed to be
      "about:blank".

Corrected Text
--------------
   o  "type" (string) - A URI reference [RFC3986] that identifies the
      problem type.  This specification encourages that, when
      dereferenced, it provide human-readable documentation for the
      problem type (e.g., using HTML [W3C.REC-html5-20141028]).  When
      this member is missing or null, its value is assumed to be
      "about:blank".

Notes
-----
JSON objects with a null "type" are syntactically correct, but there is no information on how it should be handled.

{
    "type": null,
    "status": 404,
    "title": "Not Found"
}

It makes sense to treat null as an alias of "about:blank" and that's how I think it should be documented.

Instructions:
-------------
This erratum is currently posted as "Reported". If necessary, please
use "Reply All" to discuss whether it should be verified or
rejected. When a decision is reached, the verifying party  
can log in to change the status and edit the report, if necessary. 

--------------------------------------
RFC7807 (draft-ietf-appsawg-http-problem-03)
--------------------------------------
Title               : Problem Details for HTTP APIs
Publication Date    : March 2016
Author(s)           : M. Nottingham, E. Wilde
Category            : PROPOSED STANDARD
Source              : ART Area General Application Working Group
Area                : Applications and Real-Time
Stream              : IETF
Verifying Party     : IESG

---

From: Mark Nottingham <[email-masked]>
Date: Sat, 6 Oct 2018 09:55:22 +1000

This is a substantive change. We can’t do that in an erratum. 

Sent from my iPhone

> On 6 Oct 2018, at 12:01 am, RFC Errata System <[email-masked]> wrote:
>

---

From: Mark Nottingham <[email-masked]>
Date: Mon, 8 Oct 2018 14:25:25 +1100

Hi Steven,

That's a good question. Right now, the best we can do is mark this erratum "HOLD FOR UPDATE."

I've been thinking for a while that we need longer-lived issue trackers for all HTTP specifications. We have one for the "core" specs, but the "extensions" one is only intended for active specs. Hopefully we'll make this easier to use/understand in the not-too-distant future.

Cheers,

> On 6 Oct 2018, at 7:52 pm, Steven Liekens <[email-masked]> wrote:
> 
> That's fair, is there a better way to report this?
> 
> On Sat, Oct 6, 2018, 01:55 Mark Nottingham <[email-masked]> wrote:

--
Mark Nottingham   https://www.mnot.net/

---

From: "Manger, James" <[email-masked]>
Date: Mon, 8 Oct 2018 03:42:12 +0000

{"type":23, ...}, {"type":true, ...}, {"type":["abc"], ...}, and {"type":"|not a uri>", ...} are just as "syntactically correct" JSON as {"type":null, ...}. The spec text says:

  "type" (string) - A URI reference ...

so it is clear that all these examples are invalid. The spec doesn’t define how to handle the zillions of other ways a "problem detail" doc can be invalid (which is fine) so it doesn't need special text about "type":null. Just REJECT this errata.

--
James Manger

-----Original Message-----
From: art [mailto:[email-masked]] On Behalf Of Mark Nottingham
Sent: Monday, 8 October 2018 2:25 PM
To: Steven Liekens <[email-masked]>
Cc: Ben Campbell <[email-masked]>; [email-masked]; Alexey Melnikov <[email-masked]>; [email-masked]; [email-masked]; Erik Wilde <[email-masked]>; RFC Errata System <[email-masked]>
Subject: Re: [art] [Technical Errata Reported] RFC7807 (5515)

Hi Steven,

Cheers,

> > The following errata report has been submitted for RFC7807, "Problem 
> > Details for HTTP APIs".
> > 
> > rejected. When a decision is reached, the verifying party can log in 
> > to change the status and edit the report, if necessary.
> > 

_______________________________________________
art mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/art

---

From: "Manger, James" <[email-masked]>
Date: Mon, 8 Oct 2018 23:28:55 +0000

I’m sure C# code can distinguish a missing JSON member from a member with value null if it tries. But it sounds like C# has a popular parse-to-object (or object-to-json) implementation that doesn’t distinguish these easily by default. That is a pity. But explicitly allowing "type":null feels like an poor hack that adds burdens to other implementations. If it really is necessary for the JSON ecosystem presumably it applies to almost all JSON, not just "type" in RFC7807 “Problem Details for HTTP AIPs” so an update to RFC7493 “The I-JSON Message Format” would be more appropriate.

--
James Manger

From: Steven Liekens [mailto:[email-masked]]
Sent: Monday, 8 October 2018 6:18 PM
To: Manger, James <[email-masked]>
Cc: Mark Nottingham <[email-masked]>; [email-masked]; RFC Errata System <[email-masked]>
Subject: Re: [art] [Technical Errata Reported] RFC7807 (5515)

James, I totally get what you're saying but you can't make "missing" valid and "null" invalid just because statically typed languages like C# don't even have a way to detect the difference between null or missing properties after converting the json to objects.
On Mon, Oct 8, 2018, 05:42 Manger, James <[email-masked]<mailto:[email-masked]>> wrote:
{"type":23, ...}, {"type":true, ...}, {"type":["abc"], ...}, and {"type":"|not a uri>", ...} are just as "syntactically correct" JSON as {"type":null, ...}. The spec text says:

--
James Manger

-----Original Message-----
From: art [mailto:[email-masked]<mailto:[email-masked]>] On Behalf Of Mark Nottingham
Sent: Monday, 8 October 2018 2:25 PM
To: Steven Liekens <[email-masked]<mailto:[email-masked]>>
Cc: Ben Campbell <[email-masked]<mailto:[email-masked]>>; [email-masked]<mailto:[email-masked]>; Alexey Melnikov <[email-masked]<mailto:[email-masked]>>; [email-masked]<mailto:[email-masked]>; [email-masked]<mailto:[email-masked]>; Erik Wilde <[email-masked]<mailto:[email-masked]>>; RFC Errata System <[email-masked]<mailto:[email-masked]>>
Subject: Re: [art] [Technical Errata Reported] RFC7807 (5515)

Hi Steven,

Cheers,

> On 6 Oct 2018, at 7:52 pm, Steven Liekens <[email-masked]<mailto:[email-masked]>> wrote:
>
> On Sat, Oct 6, 2018, 01:55 Mark Nottingham <[email-masked]<mailto:[email-masked]>> wrote:
> > On 6 Oct 2018, at 12:01 am, RFC Errata System <[email-masked]<mailto:[email-masked]>> wrote:
> >
> > Reported by: Steven <[email-masked]<mailto:[email-masked]>>
> >
> > Section: 3.1
> >
> > Original Text
> > -------------

_______________________________________________
art mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/art