code: func parseTokenHeader(token *JSONWebToken) (header tokenHeader, err error) {
  	header.unknown = []string{}
  	if err = token.decodedHeader.Iter(func(k *ast.Term, v *ast.Term) (err error) {
  		ks := string(k.Value.(ast.String))
  		var ok bool
  		var handler tokenHeaderHandler
  		if handler, ok = tokenHeaderTypes[ks]; ok {
  			if err = handler(&header, v.Value); err != nil {
  				return
  			}
  		} else {
  			header.unknown = append(header.unknown, ks)
  		}
  		return
  	}); err != nil {
  		return
  	}
  	return
  }
docs: // parseTokenHeader parses the JWT header.