Skip to content

Conversation

@GulajavaMinistudio
Copy link

In google#193 we moved setting of request headers to after setting the
connection parameters (Content-Type header and request body).
However, setting a request body (or more precisely, calling
HttpUrlConection#getOutputStream) prevents us from setting
additional headers, because the connection is opened already.

Instead, we just skip setting the Content-Type header if one
has already been set via Request#getHeaders. This is a bit more
error-prone, but unlikely to change in the future, and hard to
express in a cleaner way because with the DEPRECATED_GET_OR_POST
method, we need to call getPostBody to determine if the request
will be a GET or POST request, and we should only call this once.

Verified on a real device (as Robolectric did not catch this).

Fixes google#198

In #193 we moved setting of request headers to after setting the
connection parameters (Content-Type header and request body).
However, setting a request body (or more precisely, calling
HttpUrlConection#getOutputStream) prevents us from setting
additional headers, because the connection is opened already.

Instead, we just skip setting the Content-Type header if one
has already been set via Request#getHeaders. This is a bit more
error-prone, but unlikely to change in the future, and hard to
express in a cleaner way because with the DEPRECATED_GET_OR_POST
method, we need to call getPostBody to determine if the request
will be a GET or POST request, and we should only call this once.

Verified on a real device (as Robolectric did not catch this).

Fixes #198
@GulajavaMinistudio GulajavaMinistudio merged commit 6131fdc into AndroidKotlinID:master Jun 15, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants