Wendy,

> On 17 Jul 2014, at 16:00, Wendy Roome <[email protected]> wrote:
> 
> Ben,
> 
> However, if a significant number of ALTO servers accept POST as well as
> GET for full map services, that will establish a de-facto standard, and it
> will be difficult to define different semantics for POST in the future.

Not really as the semantics can be defined in terms of the Content-Type of the 
POST. 

> Also, the current spec allows a server to use the same URI for Full and
> Filtered Map services. Eg, consider this IRD fragment:

Good point - for some cases the semantics of POST are defined. 

For cases where the semantics of POST to a URI are not communicated as part of 
the IRD or some other out of band means I could live with saying the ALTO 
server SHOULD return an error (but I don't think we should define the precise 
status code). 

Ben

> 
>       "my-default-network-map" : {
>       "uri" : "http://alto.example.com/networkmap";,
>       "media-type" : "application/alto-networkmap+json"
>   },
>       "filtered-network-map" : {
>       "uri" : "http://alto.example.com/networkmap";,
>       "media-type" : "application/alto-networkmap+json",
>       "accepts" : "application/alto-networkmapfilter+json",
>       "uses": [ "my-default-network-map" ]
>   },
> 
> That says that for http://alto.example.com/networkmap, GET returns a full
> network map, while POST (with the appropriate content type) returns a
> filtered network map.
> 
>   - Wendy Roome
> 
> 
>> On 07/17/2014, 03:39, "Ben Niven-Jenkins" <[email protected]> wrote:
>> 
>> Wendy,
>> 
>>> On 16 Jul 2014, at 16:10, Wendy Roome <[email protected]> wrote:
>>> 
>>> Here is a fringe case that doesn't seem to be covered in the protocol
>>> spec.
>>> 
>>> If a client sends a POST request to a GET-mode service, like Full Cost
>>> Map, should the ALTO server reject the request? Or should the server
>>> accept the request anyway, and just return the map?
>>> 
>>> And would it depend on the content the client sent? Eg, should the
>>> server
>>> accept a POST request with no content, but reject a POST request if the
>>> client sent a body of (say) type application/alto-costmapfilter+json, on
>>> the grounds that the client mistakenly thought this was a Filtered Cost
>>> Map service?
>>> 
>>> My inclination is to reject an POST request, even if there is no
>>> content.
>>> Normally I prefer to forgive obvious errors, but unless all servers have
>>> the same level of forgiveness, error-tolerant servers will be seen as
>>> "correct", while other servers will be seen as "incorrect".
>>> 
>>> What does the group think?
>> 
>> My view is that the behaviour is server implementation specific and that
>> clients must not rely on a particular response unless they have further
>> information to suggest otherwise.
>> 
>> I don¹t like the idea of mandating returning an error as I¹d like to leave
>> the door open to allowing POST later on, e.g. as a possible means to
>> update
>> the map.
>> 
>> Ben
> 
> 

_______________________________________________
alto mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/alto

Reply via email to