GS Cache: Extract a file from TAR.
This change adds support to extract a file from a tar archive in google
storage. The change is based on "Range Request" which set a http "Range"
header in a normal http downloading. For example:
Range: bytes 123-456
This requests download the bytes from 123 to 456 (included).
The basic workflow of `extract` is:
1. Call `list_member` to get all file list of the Tar file.
2. Search the target file in the file list, then get the start/end data.
3. Call `download` with "Range" header to download that part.
TEST=Ran unit tests.
Commit-Ready: Congbin Guo <firstname.lastname@example.org>
Tested-by: Congbin Guo <email@example.com>
Reviewed-by: Congbin Guo <firstname.lastname@example.org>
2 files changed