Skip to content
Martin Caslavsky edited this page Feb 12, 2016 · 9 revisions

DataStoreService upload limitations

The GoodData WebDAV Server unfortunately doesn't follow the specification - section 8.2.3. After receiving the header part of the PUT request it should send either 100 - continue or final response (i.e. 401 in case of yet unauthenticated request). Instead of that it doesn't send anything, but waits to receive the request body. The body is sent by GoodData Java SDK with 3s delay implemented in Http client. This has following results:

Upload fails when called first after GoodData object creation

In case the PUT on WebDAV is the first request, the client is not yet authenticated. The PUT with delay causes internal error on WebDAV (status 500). Unfortunately the InputStream passed to upload method has been read.

If you met this, please change your code to do some other request first in order to get authenticated properly.

Upload waits for 3s when already authenticated

Since the GoodData WebDAV never sends 100 - continue response, every authenticated request suffers the 3s delay between sending header and body.

Clone this wiki locally