| 110 | } |
| 111 | |
| 112 | func parseStatResponse(res *http.Response) (*statResponse, error) { |
| 113 | var s = &statResponse{HaveMap: make(map[string]blob.SizedRef)} |
| 114 | var pres protocol.StatResponse |
| 115 | if err := httputil.DecodeJSON(res, &pres); err != nil { |
| 116 | return nil, ResponseFormatError(err) |
| 117 | } |
| 118 | |
| 119 | s.canLongPoll = pres.CanLongPoll |
| 120 | for _, statItem := range pres.Stat { |
| 121 | br := statItem.Ref |
| 122 | if !br.Valid() { |
| 123 | continue |
| 124 | } |
| 125 | s.HaveMap[br.String()] = blob.SizedRef{Ref: br, Size: uint32(statItem.Size)} |
| 126 | } |
| 127 | return s, nil |
| 128 | } |
| 129 | |
| 130 | // NewUploadHandleFromString returns an upload handle |
| 131 | func NewUploadHandleFromString(data string) *UploadHandle { |