Slide 20
Slide 20 text
Ωϟϯηϧ͕ൃੜͨ͠߹ͷ࣮Λߦ͏
func rangeGet(ctx context.Context, url string, s, e, i int, tempFiles []*os.File) error {
client := &http.Client{}
req, err := http.NewRequest("GET", url, nil)
if err != nil {
return err
}
req.Header.Add("Range", fmt.Sprintf("bytes=%d-%d", s, e))
req.WithContext(ctx)
resp, err := client.Do(req)
if err != nil {
return err
}
:
func (c *Client) Get(url string) error {
:
eg, ctx := errgroup.WithContext(context.Background())
tempFiles := make([]*os.File, c.Parallel)
:
eg.Go(func() error {
return rangeGet(ctx, url, s, e, i, tempFiles)
})
}
:
Gopherಓ#1 LTେձ 2018/05/28 - Yoshima Takatada / @shiimaxx