code: func NegotiateInputSerializerForMediaType(mediaType string, streaming bool, ns runtime.NegotiatedSerializer) (runtime.SerializerInfo, error) {
  	mediaTypes := ns.SupportedMediaTypes()
  	if len(mediaType) == 0 {
  		mediaType = mediaTypes[0].MediaType
  	}
  	if mediaType, _, err := mime.ParseMediaType(mediaType); err == nil {
  		if info, ok := runtime.SerializerInfoForMediaType(mediaTypes, mediaType); ok {
  			return info, nil
  		}
  	}
  
  	supported, streamingSupported := MediaTypesForSerializer(ns)
  	if streaming {
  		return runtime.SerializerInfo{}, NewUnsupportedMediaTypeError(streamingSupported)
  	}
  	return runtime.SerializerInfo{}, NewUnsupportedMediaTypeError(supported)
  }
docs: // NegotiateInputSerializerForMediaType returns the appropriate serializer for the given media type or an error.