Added filename, which it's trying to get from file disposition and if that's not available it will look if the stream is a file stream, if it is it will be able to receive the filename from that. If all fails, the filename will be empty.
I also added the headers received from the endpoint, which can be mostly used for debug purposes, but perhaps you have some other uses for it.