gpt4 book ai didi

com.netflix.zuul.netty.filter.ZuulFilterChainHandler类的使用及代码示例

转载 作者:知者 更新时间:2024-03-13 13:15:51 29 4
gpt4 key购买 nike

本文整理了Java中com.netflix.zuul.netty.filter.ZuulFilterChainHandler类的一些代码示例,展示了ZuulFilterChainHandler类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZuulFilterChainHandler类的具体详情如下:
包路径:com.netflix.zuul.netty.filter.ZuulFilterChainHandler
类名称:ZuulFilterChainHandler

ZuulFilterChainHandler介绍

[英]Created by saroskar on 5/18/17.
[中]萨罗斯卡于2017年5月18日创作。

代码示例

代码示例来源:origin: Netflix/zuul

@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
  LOG.error("zuul filter chain handler caught exception. cause=" + String.valueOf(cause), cause);
  if (zuulRequest != null && !isClientChannelClosed(cause)) {
    final SessionContext zuulCtx = zuulRequest.getContext();
    zuulCtx.setError(cause);
    zuulCtx.setShouldSendErrorResponse(true);
    sendResponse(FAILURE_LOCAL, 500, ctx);
  } else {
    fireEndpointFinish(true);
    ctx.close();
  }
}

代码示例来源:origin: Netflix/zuul

@Override
public final void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
  if (evt instanceof CompleteEvent) {
    final CompleteEvent completeEvent = (CompleteEvent)evt;
    fireEndpointFinish(completeEvent.getReason() != SESSION_COMPLETE);
  }
  else if (evt instanceof HttpRequestReadTimeoutEvent) {
    sendResponse(FAILURE_CLIENT_TIMEOUT, 408, ctx);
  }
  else if (evt instanceof IdleStateEvent) {
    sendResponse(FAILURE_LOCAL_IDLE_TIMEOUT, 504, ctx);
  }
  else if (evt instanceof RequestCancelledEvent) {
    if (zuulRequest != null) {
      StatusCategoryUtils.storeStatusCategoryIfNotAlreadyFailure(zuulRequest.getContext(), FAILURE_CLIENT_CANCELLED);
    }
    fireEndpointFinish(true);
    ctx.close();
  }
  else if (evt instanceof HttpLifecycleChannelHandler.RejectedPipeliningEvent) {
    sendResponse(FAILURE_CLIENT_PIPELINE_REJECT, 400, ctx);
  }
  super.userEventTriggered(ctx, evt);
}

代码示例来源:origin: Netflix/zuul

private void sendResponse(final StatusCategory statusCategory, final int status, ChannelHandlerContext ctx) {
  if (zuulRequest == null) {
    ctx.close();
  }
  else {
    final SessionContext zuulCtx = zuulRequest.getContext();
    StatusCategoryUtils.storeStatusCategoryIfNotAlreadyFailure(zuulCtx, statusCategory);
    final HttpResponseMessage zuulResponse = new HttpResponseMessageImpl(zuulCtx, zuulRequest, status);
    final Headers headers = zuulResponse.getHeaders();
    headers.add("Connection", "close");
    headers.add("Content-Length", "0");
    zuulResponse.finishBufferedBodyIfIncomplete();
    responseFilterChain.filter(zuulResponse);
    fireEndpointFinish(true);
  }
}

代码示例来源:origin: Netflix/zuul

protected void addZuulFilterChainHandler(final ChannelPipeline pipeline) {
  final ZuulFilter<HttpResponseMessage, HttpResponseMessage>[] responseFilters = getFilters(
      new OutboundPassportStampingFilter(FILTERS_OUTBOUND_START),
      new OutboundPassportStampingFilter(FILTERS_OUTBOUND_END));
  // response filter chain
  final ZuulFilterChainRunner<HttpResponseMessage> responseFilterChain = getFilterChainRunner(responseFilters,
      filterUsageNotifier);
  // endpoint | response filter chain
  final FilterRunner<HttpRequestMessage, HttpResponseMessage> endPoint = getEndpointRunner(responseFilterChain,
      filterUsageNotifier, filterLoader);
  final ZuulFilter<HttpRequestMessage, HttpRequestMessage>[] requestFilters = getFilters(
      new InboundPassportStampingFilter(FILTERS_INBOUND_START),
      new InboundPassportStampingFilter(FILTERS_INBOUND_END));
  // request filter chain | end point | response filter chain
  final ZuulFilterChainRunner<HttpRequestMessage> requestFilterChain = getFilterChainRunner(requestFilters,
      filterUsageNotifier, endPoint);
  pipeline.addLast(new ZuulFilterChainHandler(requestFilterChain, responseFilterChain));
}

代码示例来源:origin: Netflix/zuul

@Override
public final void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
  if (evt instanceof CompleteEvent) {
    final CompleteEvent completeEvent = (CompleteEvent)evt;
    fireEndpointFinish(completeEvent.getReason() != SESSION_COMPLETE);
  }
  else if (evt instanceof HttpRequestReadTimeoutEvent) {
    sendResponse(FAILURE_CLIENT_TIMEOUT, 408, ctx);
  }
  else if (evt instanceof IdleStateEvent) {
    sendResponse(FAILURE_LOCAL_IDLE_TIMEOUT, 504, ctx);
  }
  else if (evt instanceof RequestCancelledEvent) {
    if (zuulRequest != null) {
      StatusCategoryUtils.storeStatusCategoryIfNotAlreadyFailure(zuulRequest.getContext(), FAILURE_CLIENT_CANCELLED);
    }
    fireEndpointFinish(true);
    ctx.close();
  }
  else if (evt instanceof HttpLifecycleChannelHandler.RejectedPipeliningEvent) {
    sendResponse(FAILURE_CLIENT_PIPELINE_REJECT, 400, ctx);
  }
  super.userEventTriggered(ctx, evt);
}

代码示例来源:origin: Netflix/zuul

private void sendResponse(final StatusCategory statusCategory, final int status, ChannelHandlerContext ctx) {
  if (zuulRequest == null) {
    ctx.close();
  }
  else {
    final SessionContext zuulCtx = zuulRequest.getContext();
    StatusCategoryUtils.storeStatusCategoryIfNotAlreadyFailure(zuulCtx, statusCategory);
    final HttpResponseMessage zuulResponse = new HttpResponseMessageImpl(zuulCtx, zuulRequest, status);
    final Headers headers = zuulResponse.getHeaders();
    headers.add("Connection", "close");
    headers.add("Content-Length", "0");
    zuulResponse.finishBufferedBodyIfIncomplete();
    responseFilterChain.filter(zuulResponse);
    fireEndpointFinish(true);
  }
}

代码示例来源:origin: Netflix/zuul

protected void addZuulFilterChainHandler(final ChannelPipeline pipeline) {
  final ZuulFilter<HttpResponseMessage, HttpResponseMessage>[] responseFilters = getFilters(
      new OutboundPassportStampingFilter(FILTERS_OUTBOUND_START),
      new OutboundPassportStampingFilter(FILTERS_OUTBOUND_END));
  // response filter chain
  final ZuulFilterChainRunner<HttpResponseMessage> responseFilterChain = getFilterChainRunner(responseFilters,
      filterUsageNotifier);
  // endpoint | response filter chain
  final FilterRunner<HttpRequestMessage, HttpResponseMessage> endPoint = getEndpointRunner(responseFilterChain,
      filterUsageNotifier, filterLoader);
  final ZuulFilter<HttpRequestMessage, HttpRequestMessage>[] requestFilters = getFilters(
      new InboundPassportStampingFilter(FILTERS_INBOUND_START),
      new InboundPassportStampingFilter(FILTERS_INBOUND_END));
  // request filter chain | end point | response filter chain
  final ZuulFilterChainRunner<HttpRequestMessage> requestFilterChain = getFilterChainRunner(requestFilters,
      filterUsageNotifier, endPoint);
  pipeline.addLast(new ZuulFilterChainHandler(requestFilterChain, responseFilterChain));
}

代码示例来源:origin: Netflix/zuul

@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
  LOG.error("zuul filter chain handler caught exception. cause=" + String.valueOf(cause), cause);
  if (zuulRequest != null && !isClientChannelClosed(cause)) {
    final SessionContext zuulCtx = zuulRequest.getContext();
    zuulCtx.setError(cause);
    zuulCtx.setShouldSendErrorResponse(true);
    sendResponse(FAILURE_LOCAL, 500, ctx);
  } else {
    fireEndpointFinish(true);
    ctx.close();
  }
}

代码示例来源:origin: com.netflix.zuul/zuul-core

@Override
public final void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
  if (evt instanceof CompleteEvent) {
    final CompleteEvent completeEvent = (CompleteEvent)evt;
    fireEndpointFinish(completeEvent.getReason() != SESSION_COMPLETE);
  }
  else if (evt instanceof HttpRequestReadTimeoutEvent) {
    sendResponse(FAILURE_CLIENT_TIMEOUT, 408, ctx);
  }
  else if (evt instanceof IdleStateEvent) {
    sendResponse(FAILURE_LOCAL_IDLE_TIMEOUT, 504, ctx);
  }
  else if (evt instanceof RequestCancelledEvent) {
    if (zuulRequest != null) {
      StatusCategoryUtils.storeStatusCategoryIfNotAlreadyFailure(zuulRequest.getContext(), FAILURE_CLIENT_CANCELLED);
    }
    fireEndpointFinish(true);
    ctx.close();
  }
  else if (evt instanceof HttpLifecycleChannelHandler.RejectedPipeliningEvent) {
    sendResponse(FAILURE_CLIENT_PIPELINE_REJECT, 400, ctx);
  }
  super.userEventTriggered(ctx, evt);
}

代码示例来源:origin: com.netflix.zuul/zuul-core

private void sendResponse(final StatusCategory statusCategory, final int status, ChannelHandlerContext ctx) {
  if (zuulRequest == null) {
    ctx.close();
  }
  else {
    final SessionContext zuulCtx = zuulRequest.getContext();
    StatusCategoryUtils.storeStatusCategoryIfNotAlreadyFailure(zuulCtx, statusCategory);
    final HttpResponseMessage zuulResponse = new HttpResponseMessageImpl(zuulCtx, zuulRequest, status);
    final Headers headers = zuulResponse.getHeaders();
    headers.add("Connection", "close");
    headers.add("Content-Length", "0");
    zuulResponse.finishBufferedBodyIfIncomplete();
    responseFilterChain.filter(zuulResponse);
    fireEndpointFinish(true);
  }
}

代码示例来源:origin: com.netflix.zuul/zuul-core

protected void addZuulFilterChainHandler(final ChannelPipeline pipeline) {
  final ZuulFilter<HttpResponseMessage, HttpResponseMessage>[] responseFilters = getFilters(
      new OutboundPassportStampingFilter(FILTERS_OUTBOUND_START),
      new OutboundPassportStampingFilter(FILTERS_OUTBOUND_END));
  // response filter chain
  final ZuulFilterChainRunner<HttpResponseMessage> responseFilterChain = getFilterChainRunner(responseFilters,
      filterUsageNotifier);
  // endpoint | response filter chain
  final FilterRunner<HttpRequestMessage, HttpResponseMessage> endPoint = getEndpointRunner(responseFilterChain,
      filterUsageNotifier, filterLoader);
  final ZuulFilter<HttpRequestMessage, HttpRequestMessage>[] requestFilters = getFilters(
      new InboundPassportStampingFilter(FILTERS_INBOUND_START),
      new InboundPassportStampingFilter(FILTERS_INBOUND_END));
  // request filter chain | end point | response filter chain
  final ZuulFilterChainRunner<HttpRequestMessage> requestFilterChain = getFilterChainRunner(requestFilters,
      filterUsageNotifier, endPoint);
  pipeline.addLast(new ZuulFilterChainHandler(requestFilterChain, responseFilterChain));
}

代码示例来源:origin: com.netflix.zuul/zuul-core

@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
  LOG.error("zuul filter chain handler caught exception. cause=" + String.valueOf(cause), cause);
  if (zuulRequest != null && !isClientChannelClosed(cause)) {
    final SessionContext zuulCtx = zuulRequest.getContext();
    zuulCtx.setError(cause);
    zuulCtx.setShouldSendErrorResponse(true);
    sendResponse(FAILURE_LOCAL, 500, ctx);
  } else {
    fireEndpointFinish(true);
    ctx.close();
  }
}

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com