标签: interceptor

2
推荐指数
1
解决办法
1577
查看次数

Ninject Intercept

从什么dll我可以获得拦截的扩展?我从http://github.com/danielmarbach/ninject.extensions.interception添加了Ninject.Extensions.Interception .那里没有运气.有一些样品有效吗?

我需要的是制作一个拦截器,它将从WcfClient传递到WcfServer一个具有不同参数的不同函数,这样我就不必在WcfServer代码后面实现已经实现的函数了.所以我已经实现的功能的签名是 -

public static T InvokeService<T>(MethodInfo MethodName, Type genericType, Type BlClass, params object[] ParamList)
Run Code Online (Sandbox Code Playgroud)

它的作用是通过BlClass激活Method并向其发送ParamList.我想制作一个拦截器,它将动态填充参数,同时解决WcfServer方面的问题.但首先我如何才能访问我的ninjectModule中的Intercept扩展?
在此先感谢您提供的任何帮助:)

ps试过:

using Ninject.Extensions.Interception;
Run Code Online (Sandbox Code Playgroud)

和:

using Ninject.Core;
using Ninject.Core.Interception;
Run Code Online (Sandbox Code Playgroud)

ninject interceptor ninject-2 ninject-extensions

2
推荐指数
1
解决办法
1403
查看次数

Ninject:每个类实例被拦截一个拦截器实例?

我目前遇到了一个问题,试图在每个被拦截的类实例中连接一个拦截器实例.

我正在InterceptorRegistrationStrategy中创建和建议并设置回调来解析内核中的拦截器(它有一个注入构造函数).请注意,我只能在回调中实例化拦截器,因为InterceptorRegistrationStrategy没有引用内核本身.

            IAdvice advice = this.AdviceFactory.Create(methodInfo);
            advice.Callback = ((context) => context.Kernel.Get<MyInterceptor>());
            this.AdviceRegistry.Register(advice);
Run Code Online (Sandbox Code Playgroud)

我正在获得每个方法的拦截器实例.

是否有任何方法可以为每个被拦截的类型实例创建一个拦截器实例?

我在考虑命名范围,但截获的类型和拦截器不会互相引用.

ninject ioc-container interceptor ninject-2 ninject-extensions

2
推荐指数
1
解决办法
1137
查看次数

NodeJS和Express拦截器

我正在尝试为计量目的编码拦截器.我的拦截器必须在任何http查询之前(以及在Express完成其工作之前)调用一些时间信息,并在Express'工作之后调用,以获得调用的持续时间.

我正在尝试使用中间件,它在"之前"调用中工作正常,但不适用于"之后"调用,因为当发现路由时,通过其他中间件的传播被停止.

请提供一些线索,让一些拦截器在所有情况下工作.

编辑:

我想要的是Javascript实际上是一种AOP ......

'之前'拦截器中间件是:

// JMC Add metrologie informations for all route called
    app.use(function (req, res, next) {
        var name = req.originalMethod + req.originalUrl;
        log.trace('Start MetroInfo for route : %s', name);
        metro.startMetrologie(name);
        return next();
    });
Run Code Online (Sandbox Code Playgroud)

提前致谢.

interceptor node.js express

2
推荐指数
1
解决办法
4707
查看次数

在OkHttp库中使用Interceptor

我需要使用所有请求参数生成签名验证:

  • 询问
  • 方法
  • 身体
  • 安全令牌

所以,我写了一个小的SignatureInterceptor类:

public class SignatureInterceptor implements Interceptor {

    private String token;
    private String signature = "";
    private String method;
    private String query;

    public SignatureInterceptor() {
            this.token = "456456456456";
    }

    @Override
    public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
        Request originalRequest = chain.request();
        if (originalRequest.body() == null || originalRequest.header("Content-Encoding") != null) {
            return chain.proceed(originalRequest);
        }

        method = originalRequest.method();
        query = originalRequest.urlString();

        Request authenticatedRequest = originalRequest.newBuilder()
                .method(originalRequest.method(), authenticate(originalRequest.body()))
                .addHeader("signature", signature)
                .build();
        return chain.proceed(authenticatedRequest);
    }

    private RequestBody authenticate(final RequestBody body) …
Run Code Online (Sandbox Code Playgroud)

java interceptor retrofit okhttp

2
推荐指数
1
解决办法
2989
查看次数

Autofac RegisterType 不提供 EnableInterfaceInterceptors

我想使用 Autofac 探索自定义拦截器。我目前正在使用 Autofac 的 4.2.0 版和用于 DynamicProxy 的 Castle.Core 的 3.3.3 版。

我从以下基本行为开始,希望在 Autofac 中使用其接口注册测试类:

using Autofac;
using Castle.DynamicProxy;

class Program
{
    static void Main(string[] args)
    {
        ContainerBuilder builder = new ContainerBuilder();
        builder.RegisterType<MyClassA>()
            .As<IMyInterface>()
            .EnableInterfaceInterceptors()
            .InterceptedBy(typeof(MyInterceptor));
        builder.RegisterType<MyInterceptor>().AsSelf();
        var container = builder.Build();
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是“.EnableInterfaceInterceptors()”行下面有一条红色错误波浪线,并显示以下错误:

'IRegistrationBuilder<MyClassA, ConcreteReflectionActivatorData, SingleRegistrationStyle>' does not contain a definition for 'EnableInterfaceInterceptors' and no extension method 'EnableInterfaceInterceptors accepting a first argument of type 'IRegistrationBuilder<MyClassA, ConcreteReflectionActivatorData, SingleRegistrationStyleA>' could be found (are you missing a using directive or an …

c# aop autofac interceptor

2
推荐指数
1
解决办法
1456
查看次数

从 Http Interceptor 获取授权标头

我已经授权将令牌headers直接放入。我现在如何从 Angular 4 获取这个令牌Http Interceptor

在此处输入图片说明

不幸的是,以下都不console logs包含此标题:

  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    //const changedReq = req.clone({headers: req.headers.set('Authorization', 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbkB3cC5wbCIsImV4cCI6MTUxMDY2NDM0M30.0iBktdr4-1EzTi1iaQOOfguK7HGVJF7JYkB-AF3uZgJrmKnVESAyKkHoNRzum1Pq5xZ6GJaZC9cbZQ2umMSfLA')});
    console.log('req', req);
    return next.handle(req).do((event: HttpEvent<any>) => {
      console.log('event', event);
      if (event instanceof HttpResponse) {
        // do stuff with response if you want
      }
    }, (err: any) => {
      if (err instanceof HttpErrorResponse) {
          this.ehs.setService(err.status, err.error);
          // redirect to login
      }
    });
  }
Run Code Online (Sandbox Code Playgroud)

authorization header interceptor angular-http-interceptors angular

2
推荐指数
1
解决办法
1941
查看次数

从 WebFlux 中的 WebFilter 获取 HandlerMethod

在使用 Servlet API 实现拦截器时,我HandlerMethod开箱即用:

... extends HandlerInterceptorAdapter
@Override
public boolean preHandle(final HttpServletRequest request,
                             final HttpServletResponse response, final Object handlerMethod) throws Exception {
Run Code Online (Sandbox Code Playgroud)

我可以HandlerMethod在实施时访问而WebFilter不是HandlerInterceptorAdapter

如果WebFilter我有:

... implements WebFilter {
public Mono<Void> filter(ServerWebExchange serverWebExchange, WebFilterChain webFilterChain) {
Run Code Online (Sandbox Code Playgroud)

一旦我可以HandlerMethod通过调用访问serverWebExchange.getAttribute("....bestMatchingHandler"),但它不再起作用了。见相应问题。我的问题是:我怎样才能HandlerMethod不使用serverWebExchange.getAttribute

attributes spring-mvc filter interceptor spring-webflux

2
推荐指数
1
解决办法
929
查看次数

在 spring boot 2.1.1 自动配置中不调用 addInterceptors

我正在编写一个 spring-boot start,旨在为处理程序自动配置拦截器。主类如下所示:

@Configuration
@ConditionalOnWebApplication
@EnableConfigurationProperties(MetricsProperties.class)
public class MetricsConfiguration implements WebMvcConfigurer {
    private static Logger logger = LoggerFactory.getLogger(MetricsConfiguration.class);

    private final MetricsProperties metricsProperties;

    public MetricsConfiguration(MetricsProperties properties) {
        this.metricsProperties = properties;
    }

    @Bean
    @Order(0)
    public MetricsCenter createMetricsCenter() {
        MetricsCenter metricsCenter = MetricsCenter.getInstance();
        metricsCenter.init(metricsProperties);
        return metricsCenter;
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        logger.error("alex add");   // the log does not appear!!
        registry.addInterceptor(new MetricsInterceptor());
    }
}
Run Code Online (Sandbox Code Playgroud)

根据文件

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-spring-mvc-auto-configuration

其中说:

如果您想保留 Spring Boot MVC 功能并添加额外的 MVC 配置(拦截器、格式化程序、视图控制器和其他功能),您可以添加您自己的 WebMvcConfigurer 类型的 @Configuration 类,但不添加 @EnableWebMvc。如果您希望提供 RequestMappingHandlerMapping、RequestMappingHandlerAdapter 或 ExceptionHandlerExceptionResolver …

interceptor spring-boot

2
推荐指数
1
解决办法
917
查看次数

Flutter webview 拦截并为所有请求添加标头

使用 webview_flutter 包,我可以加载我的网站并将会话 cookie 添加到初始 URL。

_controller.future.then((controller) {
  _webViewController = controller;
  Map<String, String> header = {'Cookie': 'ci_session=${widget.sessionId}'};
  _webViewController.loadUrl('https://xxxx.com', headers: header);
});
Run Code Online (Sandbox Code Playgroud)

为了保持会话进行,我需要为所有请求添加相同的标头,而不仅仅是初始请求。有没有办法拦截所有请求并通过向它们添加标头来修改它们?

我发现的最接近的事情是navigationDelegate 但它只返回一个NavigationDecision在我的情况下没有用的。

android webview interceptor flutter

2
推荐指数
1
解决办法
6929
查看次数