@@ -612,42 +612,60 @@ type metadataProviderFromParams struct {
612612
613613func (mp metadataProviderFromParams ) Created () (int , error ) {
614614 if val , ok := mp .Params .Get (string (MetaCreated )); ok {
615- return int (val .(int64 )), nil
615+ if intVal , ok := val .(int64 ); ok {
616+ return int (intVal ), nil
617+ }
618+ return 0 , newError (ErrInvalidMetadata , fmt .Sprintf ("created parameter has invalid type %T, expected int64" , val ))
616619 }
617620 return 0 , fmt .Errorf ("No created value" )
618621}
619622
620623func (mp metadataProviderFromParams ) Expires () (int , error ) {
621624 if val , ok := mp .Params .Get (string (MetaExpires )); ok {
622- return int (val .(int64 )), nil
625+ if intVal , ok := val .(int64 ); ok {
626+ return int (intVal ), nil
627+ }
628+ return 0 , newError (ErrInvalidMetadata , fmt .Sprintf ("expires parameter has invalid type %T, expected int64" , val ))
623629 }
624630 return 0 , fmt .Errorf ("No expires value" )
625631}
626632
627633func (mp metadataProviderFromParams ) Nonce () (string , error ) {
628634 if val , ok := mp .Params .Get (string (MetaNonce )); ok {
629- return val .(string ), nil
635+ if strVal , ok := val .(string ); ok {
636+ return strVal , nil
637+ }
638+ return "" , newError (ErrInvalidMetadata , fmt .Sprintf ("nonce parameter has invalid type %T, expected string" , val ))
630639 }
631640 return "" , fmt .Errorf ("No nonce value" )
632641}
633642
634643func (mp metadataProviderFromParams ) Alg () (string , error ) {
635644 if val , ok := mp .Params .Get (string (MetaAlgorithm )); ok {
636- return val .(string ), nil
645+ if strVal , ok := val .(string ); ok {
646+ return strVal , nil
647+ }
648+ return "" , newError (ErrInvalidMetadata , fmt .Sprintf ("alg parameter has invalid type %T, expected string" , val ))
637649 }
638650 return "" , fmt .Errorf ("No alg value" )
639651}
640652
641653func (mp metadataProviderFromParams ) KeyID () (string , error ) {
642654 if val , ok := mp .Params .Get (string (MetaKeyID )); ok {
643- return val .(string ), nil
655+ if strVal , ok := val .(string ); ok {
656+ return strVal , nil
657+ }
658+ return "" , newError (ErrInvalidMetadata , fmt .Sprintf ("keyid parameter has invalid type %T, expected string" , val ))
644659 }
645660 return "" , fmt .Errorf ("No keyid value" )
646661}
647662
648663func (mp metadataProviderFromParams ) Tag () (string , error ) {
649664 if val , ok := mp .Params .Get (string (MetaTag )); ok {
650- return val .(string ), nil
665+ if strVal , ok := val .(string ); ok {
666+ return strVal , nil
667+ }
668+ return "" , newError (ErrInvalidMetadata , fmt .Sprintf ("tag parameter has invalid type %T, expected string" , val ))
651669 }
652670 return "" , fmt .Errorf ("No tag value" )
653671}
0 commit comments