package com.github.aesteve.vertx.nubes.reflections.injectors.annot.impl;
import com.github.aesteve.vertx.nubes.annotations.params.Headers;
import com.github.aesteve.vertx.nubes.reflections.injectors.annot.AnnotatedParamInjector;
import io.vertx.core.MultiMap;
import io.vertx.ext.web.RoutingContext;
public class HeadersParamInjector implements AnnotatedParamInjector<Headers> {
@Override
public Object resolve(RoutingContext context, Headers annotation, String paramName, Class<?> resultClass) {
if (!MultiMap.class.isAssignableFrom(resultClass)) {
context.fail(new Exception("Could not inject @Headers to the method. Headers parameter should be a MultiMap."));
}
return context.request().headers();
}
}