gmantele / vollt

Java libraries implementing the IVOA protocol: ADQL, UWS and TAP
http://cdsportal.u-strasbg.fr/taptuto/
29 stars 28 forks source link

TAP resource returning HTTP-501 #129

Open gmantele opened 3 years ago

gmantele commented 3 years ago

VOLLT/TAPLib intentionally returns an HTTP-501 (Not Implemented) with a VOTable document describing the error when a requested TAP resource (e.g. sync, async, examples) does not exist. This is made on purpose as VOLLT/TAPLib offers the possibility to attach additional resources behind the root TAP URL (i.e. /tap/), as any other standard resource (e.g. /tap/async, /tap/capabilities).

This situation especially applies for the optional resource Examples (i.e. /tap/examples). The problem is that TAP validators or clients check the URL directly to see if the resource exists or not, and most of them expect a 404 error being returned if not implemented. The returned 501 by VOLLT/TAPLib then generates an unexpected error on the client/validator side.

Besides, for this Examples resource, DALI explicitly requires the DALI service to return a 404 error if not implemented.

In order to follow the behavior of the other existing TAP services (and DALI for the Examples resource), VOLLT/TAPLib should now return a 404 instead of the current 501 when a TAP resource is not implemented.