func (p *putter) putMd5() (err error) {
	calcMd5 := fmt.Sprintf("%x", p.md5.Sum(nil))
	md5Reader := strings.NewReader(calcMd5)
	md5Path := fmt.Sprint(".md5", p.url.Path, ".md5")
	md5Url, err := p.b.url(md5Path, p.c)
	if err != nil {
		return err
	}
	logger.debugPrintln("md5: ", calcMd5)
	logger.debugPrintln("md5Path: ", md5Path)
	r, err := http.NewRequest("PUT", md5Url.String(), md5Reader)
	if err != nil {
		return
	}
	p.b.Sign(r)
	resp, err := p.c.Client.Do(r)
	if err != nil {
		return
	}
	defer checkClose(resp.Body, err)
	if resp.StatusCode != 200 {
		return newRespError(resp)
	}
	return
}
func (p *putter) putMd5() (err error) {
	calcMd5 := fmt.Sprintf("%x", p.md5.Sum(nil))
	md5Reader := strings.NewReader(calcMd5)
	md5Path := fmt.Sprint(".md5", p.url.Path, ".md5")
	md5Url, err := p.b.url(md5Path, p.c)
	if err != nil {
		return err
	}
	logger.debugPrintln("md5: ", calcMd5)
	logger.debugPrintln("md5Path: ", md5Path)
	r, err := http.NewRequest("PUT", md5Url.String(), md5Reader)
	if err != nil {
		return
	}
	p.b.Sign(r)
	resp, err := p.c.Client.Do(r)
	if err != nil {
		return
	}
	defer checkClose(resp.Body, err)
	if resp.StatusCode != 200 {
		return newRespError(resp)
	}
	return
}
func ( p * putter ) putMd5 ( ) ( err error ) { calcMd5 := fmt . Sprintf ( " " , p . md5 . Sum ( nil ) ) md5Reader := strings . NewReader ( calcMd5 ) md5Path := fmt . Sprint ( " " , p . url . Path , " " ) md5Url , err := p . b . url ( md5Path , p . c ) if err != nil { return err } logger . debugPrintln ( " " , calcMd5 ) logger . debugPrintln ( " " , md5Path ) r , err := http . NewRequest ( " " , md5Url . String ( ) , md5Reader ) if err != nil { return } p . b . Sign ( r ) resp , err := p . c . Client . Do ( r ) if err != nil { return } defer checkClose ( resp . Body , err ) if resp . StatusCode != 200 { return newRespError ( resp ) } return }
// Put md5 file in .md5 subdirectory of bucket  where the file is stored
// e.g. the md5 for https://mybucket.s3.amazonaws.com/gof3r will be stored in
// https://mybucket.s3.amazonaws.com/.md5/gof3r.md5
Put md5 file in . md5 subdirectory of bucket where the file is stored e . g . the md5 for https : // mybucket . s3 . amazonaws . com / gof3r will be stored in https : // mybucket . s3 . amazonaws . com / . md5 / gof3r . md5