package feed //go:generate stringer -linecomment -type=V2AccessVector import ( "encoding/json" "fmt" ) type V2AccessVector byte const ( V2AVAdjacentNetwork V2AccessVector = iota // ADJACENT_NETWORK V2AVLocal // LOCAL V2AVNetwork // NETWORK ) // Unmarshal CVSS V2 access vector from JSON. func (me *V2AccessVector) UnmarshalJSON(b []byte) error { // decode string, check for error var s string if err := json.Unmarshal(b, &s); err != nil { return err } // check value switch s { case "ADJACENT_NETWORK": *me = V2AVAdjacentNetwork case "LOCAL": *me = V2AVLocal case "NETWORK": *me = V2AVNetwork default: // return error return fmt.Errorf("unknown CVSS v2 access vector: %s", s) } // return success return nil }