Skip to content

Set Content-Type explicitly in LargeFileUploadTask. #502

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 19, 2021

Conversation

buptliuhs
Copy link
Contributor

@buptliuhs buptliuhs commented Aug 14, 2021

Summary

In LargefileUploadTask, set Content-Type to application/octet-stream explicitly, otherwise application/json will be used by default, which is not correct.

Motivation

Although using the default application/json does not impact the functionality, if a client using the SDK has something like http-interceptor to examine the request payload, incorrect Content-Type can be misleading, for example, application/json suggests plain/text in json format.

Test plan

N/A

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • I have read the CONTRIBUTING document.
  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@nikithauc
Copy link
Contributor

@buptliuhs Thanks again for your contribution!!

I will review this next week.

Question for you, are you facing an error with the current code that is setting the default header to application/json ?

@buptliuhs
Copy link
Contributor Author

buptliuhs commented Aug 15, 2021

@nikithauc , No, files can be successfully uploaded even the header is set to application/json by default, so I guess the API server just doesn't check it. This is NOT actually impacting the file upload functionality.
However, as I mentioned, it is not uncommon, on the client-side, there is logic like http-interception doing things logs, audits, and etc. Having application/json in the header is misleading and can cause unexpected behaviours.
No unit test updated for now since the existing part of the code is not covered in any test cases. I can add some (of course need to do some refactoring to make it testable) if it is needed.
Thanks!

@nikithauc nikithauc self-assigned this Aug 17, 2021
@nikithauc nikithauc merged commit 6cbb558 into microsoftgraph:dev Aug 19, 2021
@nikithauc nikithauc mentioned this pull request Nov 15, 2021
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