ducky/devices
2016-01-02
Parent:a700ede02f91
ducky/devices/vendor/github.com/pborman/uuid/json.go
Update trout to fix routing bug. Update to tip on trout to fix the routing bug that was causing us such issues. See the commit message of trout at 3df515f0cec5 for more details.
| paddy@0 | 1 // Copyright 2014 Google Inc. All rights reserved. |
| paddy@0 | 2 // Use of this source code is governed by a BSD-style |
| paddy@0 | 3 // license that can be found in the LICENSE file. |
| paddy@0 | 4 |
| paddy@0 | 5 package uuid |
| paddy@0 | 6 |
| paddy@0 | 7 import "errors" |
| paddy@0 | 8 |
| paddy@0 | 9 func (u UUID) MarshalJSON() ([]byte, error) { |
| paddy@0 | 10 if len(u) == 0 { |
| paddy@0 | 11 return []byte(`""`), nil |
| paddy@0 | 12 } |
| paddy@0 | 13 return []byte(`"` + u.String() + `"`), nil |
| paddy@0 | 14 } |
| paddy@0 | 15 |
| paddy@0 | 16 func (u *UUID) UnmarshalJSON(data []byte) error { |
| paddy@0 | 17 if len(data) == 0 || string(data) == `""` { |
| paddy@0 | 18 return nil |
| paddy@0 | 19 } |
| paddy@0 | 20 if len(data) < 2 || data[0] != '"' || data[len(data)-1] != '"' { |
| paddy@0 | 21 return errors.New("invalid UUID format") |
| paddy@0 | 22 } |
| paddy@0 | 23 data = data[1 : len(data)-1] |
| paddy@0 | 24 uu := Parse(string(data)) |
| paddy@0 | 25 if uu == nil { |
| paddy@0 | 26 return errors.New("invalid UUID format") |
| paddy@0 | 27 } |
| paddy@0 | 28 *u = uu |
| paddy@0 | 29 return nil |
| paddy@0 | 30 } |