Re: [weirds] Required values in JSON responses

Audric Schiltknecht <audric.schiltknecht@viagenie.ca> Fri, 24 October 2014 15:22 UTC

Return-Path: <audric.schiltknecht@viagenie.ca>
X-Original-To: weirds@ietfa.amsl.com
Delivered-To: weirds@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7F2B61A1A1B for <weirds@ietfa.amsl.com>; Fri, 24 Oct 2014 08:22:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.911
X-Spam-Level:
X-Spam-Status: No, score=-1.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BxNm2vuojGWJ for <weirds@ietfa.amsl.com>; Fri, 24 Oct 2014 08:22:22 -0700 (PDT)
Received: from jazz.viagenie.ca (jazz.viagenie.ca [IPv6:2620:0:230:8000::2]) by ietfa.amsl.com (Postfix) with ESMTP id 364E91A1A1C for <weirds@ietf.org>; Fri, 24 Oct 2014 08:22:22 -0700 (PDT)
Received: from [IPv6:2620:0:230:c000:6e88:14ff:fe69:301c] (unknown [IPv6:2620:0:230:c000:6e88:14ff:fe69:301c]) by jazz.viagenie.ca (Postfix) with ESMTPSA id 3BDC7403D7; Fri, 24 Oct 2014 11:22:21 -0400 (EDT)
Message-ID: <544A6EAD.20400@viagenie.ca>
Date: Fri, 24 Oct 2014 11:22:21 -0400
From: Audric Schiltknecht <audric.schiltknecht@viagenie.ca>
Organization: Viagénie
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: Maarten Bosteels <maarten.bosteels@dnsbelgium.be>, Andy Newton <andy@arin.net>, "weirds@ietf.org" <weirds@ietf.org>
References: <544A578F.5070801@viagenie.ca> <D06FD28E.3107A%andy@arin.net> <D070383D.169DE%maartenb@dnsbelgium.be>
In-Reply-To: <D070383D.169DE%maartenb@dnsbelgium.be>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: 8bit
Archived-At: http://mailarchive.ietf.org/arch/msg/weirds/2FqkW72-aK93RJaK1VcaukURPu8
Subject: Re: [weirds] Required values in JSON responses
X-BeenThere: weirds@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "WHOIS-based Extensible Internet Registration Data Service \(WEIRDS\)" <weirds.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/weirds>, <mailto:weirds-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/weirds/>
List-Post: <mailto:weirds@ietf.org>
List-Help: <mailto:weirds-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/weirds>, <mailto:weirds-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Oct 2014 15:22:24 -0000

Le 2014-10-24 11:11, Maarten Bosteels a écrit :
> 
> 
> On 24/10/14 16:02, "Andy Newton" <andy@arin.net> wrote:
> 
>> On 10/24/14, 9:43 AM, "Audric Schiltknecht"
>> <audric.schiltknecht@viagenie.ca> wrote:
>>
>>> Hello,
>>>
>>> I have not followed all previous discussions about this, so I may be
>>> missing some information regarding this issue.
>>>
>>> In current JSON response draft (version 10):
>>>
>>> * Section 2.1:
>>>   Clients processing JSON responses need to be prepared for values
>>>   specified in this document to be absent from a response, as no JSON
>>>   value listed is required to appear in a response.  In other words,
>>>   servers are free to not included values based on their own policies.
>>>
>>> I understand this statement as the fact that there is no REQUIRED values
>>> defined in all the document (and that in fact, even an empty JSON
>>> response is a valid response).
>>>
>>> (Also, there is a small nit: "servers are free to not included values" ->
>>> "servers are free to not include values").
>>>
>>>
>>> However,
>>> * Section 4.9
>>>   An objectClassName is REQUIRED in all RDAP
>>>   response objects so that the type of the object can be interpreted.
>>>
>>> This sections states that the 'objectClassName' JSON member is REQUIRED.
>>>
>>> Furthermore,
>>> * Section 4.2:
>>>
>>>   The JSON name/values of "rel", "href", "hreflang", "title", "media",
>>>   and "type" correspond to values found in Section 5 of [RFC5988].  The
>>>   "value" JSON value is the context URI as described by [RFC5988].  The
>>>   "href" JSON value MUST be specified.  All other JSON values are
>>>   OPTIONAL.
>>>
>>> Here, the 'href' value is a MUST for 'links' array.
>>>
>>>
>>> Long story short, sections 4.2 and 4.9 both specify required values for
>>> JSON objects whereas Section 2.1 states that there is no required value.
>>>
>>> Did I miss something about that?
>>
>> No, I think you found a wording glitch. I propose the following change:
>>
>> OLD:
>>
>>   Clients processing JSON responses need to be prepared for values
>>   specified in this document to be absent from a response, as no JSON
>>   value listed is required to appear in a response.  In other words,
>>   servers are free to not included values based on their own policies.
>>
>> NEW:
>>
>>
>>   Clients processing JSON responses need to be prepared for values
>>   representing registration data specified in this document to be
>>   absent from a response.  In other words, servers are free to not
>>   included JSON values containing registration data based on their
>>   own policies.
> 
> NEWER: 
> 
> 
> Clients processing JSON responses need to be prepared for values
>    representing registration data specified in this document to be
>    absent from a response.  In other words, servers are free to not
>    include JSON values containing registration data based on their
>    own policies.
> 
> Replaced "free to not included" by "free to not include"

That looks better, indeed.


Related to the 'objectClassName' requirement, Section 5 may also need to
be changed:

   In addition to the "links" array with a self link, servers SHOULD
   provide an "objectClassName" (see Section 4.9) string in each object.

I think it is possible to completely remove this sentence, since it is
already expressed in Section 4.9 (as a REQUIRED value).

Regards,
Audric