package org.skywalking.apm.plugin.httpClient.v4.define; import net.bytebuddy.description.method.MethodDescription; import net.bytebuddy.matcher.ElementMatcher; import org.skywalking.apm.agent.core.plugin.interceptor.InstanceMethodsInterceptPoint; import static net.bytebuddy.matcher.ElementMatchers.named; /** * {@link AbstractHttpClientInstrumentation} presents that skywalking intercepts {@link * org.apache.http.impl.client.InternalHttpClient#doExecute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)} by using {@link * HttpClientInstrumentation#INTERCEPT_CLASS}. * * @author zhangxin */ public class InternalHttpClientInstrumentation extends HttpClientInstrumentation { private static final String ENHANCE_CLASS = "org.apache.http.impl.client.InternalHttpClient"; @Override public String enhanceClassName() { return ENHANCE_CLASS; } @Override protected InstanceMethodsInterceptPoint[] getInstanceMethodsInterceptPoints() { return new InstanceMethodsInterceptPoint[] { new InstanceMethodsInterceptPoint() { @Override public ElementMatcher<MethodDescription> getMethodsMatcher() { return named("doExecute"); } @Override public String getMethodsInterceptor() { return getInstanceMethodsInterceptor(); } } }; } }