@Override public void runBufferedBodyContentThroughFilter(ZuulFilter filter) { //Loop optimized for the common case: Most filters' processContentChunk() return // original chunk passed in as is without any processing for (int i=0; i < bodyChunks.size(); i++) { final HttpContent origChunk = bodyChunks.get(i); final HttpContent filteredChunk = filter.processContentChunk(this, origChunk); if ((filteredChunk != null) && (filteredChunk != origChunk)) { //filter actually did some processing, set the new chunk in and release the old chunk. bodyChunks.set(i, filteredChunk); final int refCnt = origChunk.refCnt(); if (refCnt > 0) { origChunk.release(refCnt); } } } }
@Override public void runBufferedBodyContentThroughFilter(ZuulFilter filter) { //Loop optimized for the common case: Most filters' processContentChunk() return // original chunk passed in as is without any processing for (int i=0; i < bodyChunks.size(); i++) { final HttpContent origChunk = bodyChunks.get(i); final HttpContent filteredChunk = filter.processContentChunk(this, origChunk); if ((filteredChunk != null) && (filteredChunk != origChunk)) { //filter actually did some processing, set the new chunk in and release the old chunk. bodyChunks.set(i, filteredChunk); final int refCnt = origChunk.refCnt(); if (refCnt > 0) { origChunk.release(refCnt); } } } }
@Override public void filter(final HttpRequestMessage zuulReq, final HttpContent chunk) { if (zuulReq.getContext().isCancelled()) { chunk.release(); return; } String endpointName = "-"; try { ZuulFilter<HttpRequestMessage, HttpResponseMessage> endpoint = Preconditions.checkNotNull( getEndpoint(zuulReq), "endpoint"); endpointName = endpoint.filterName(); final HttpContent newChunk = endpoint.processContentChunk(zuulReq, chunk); if (newChunk != null) { //Endpoints do not directly forward content chunks to next stage in the filter chain. zuulReq.bufferBodyContents(newChunk); //deallocate original chunk if necessary if (newChunk != chunk) { chunk.release(); } if (isFilterAwaitingBody(zuulReq) && zuulReq.hasCompleteBody() && !(endpoint instanceof ProxyEndpoint)) { //whole body has arrived, resume filter chain invokeNextStage(filter(endpoint, zuulReq)); } } } catch (Exception ex) { handleException(zuulReq, endpointName, ex); } }
filterName = filter.filterName(); if ((! filter.isDisabled()) && (! shouldSkipFilter(inMesg, filter))) { final HttpContent newChunk = filter.processContentChunk(inMesg, chunk); if (newChunk == null) {
@Override public void filter(final HttpRequestMessage zuulReq, final HttpContent chunk) { if (zuulReq.getContext().isCancelled()) { chunk.release(); return; } String endpointName = "-"; try { ZuulFilter<HttpRequestMessage, HttpResponseMessage> endpoint = Preconditions.checkNotNull( getEndpoint(zuulReq), "endpoint"); endpointName = endpoint.filterName(); final HttpContent newChunk = endpoint.processContentChunk(zuulReq, chunk); if (newChunk != null) { //Endpoints do not directly forward content chunks to next stage in the filter chain. zuulReq.bufferBodyContents(newChunk); //deallocate original chunk if necessary if (newChunk != chunk) { chunk.release(); } if (isFilterAwaitingBody(zuulReq) && zuulReq.hasCompleteBody() && !(endpoint instanceof ProxyEndpoint)) { //whole body has arrived, resume filter chain invokeNextStage(filter(endpoint, zuulReq)); } } } catch (Exception ex) { handleException(zuulReq, endpointName, ex); } }
filterName = filter.filterName(); if ((! filter.isDisabled()) && (! shouldSkipFilter(inMesg, filter))) { final HttpContent newChunk = filter.processContentChunk(inMesg, chunk); if (newChunk == null) {
@Override public void runBufferedBodyContentThroughFilter(ZuulFilter filter) { //Loop optimized for the common case: Most filters' processContentChunk() return // original chunk passed in as is without any processing for (int i=0; i < bodyChunks.size(); i++) { final HttpContent origChunk = bodyChunks.get(i); final HttpContent filteredChunk = filter.processContentChunk(this, origChunk); if ((filteredChunk != null) && (filteredChunk != origChunk)) { //filter actually did some processing, set the new chunk in and release the old chunk. bodyChunks.set(i, filteredChunk); final int refCnt = origChunk.refCnt(); if (refCnt > 0) { origChunk.release(refCnt); } } } }
@Override public void filter(final HttpRequestMessage zuulReq, final HttpContent chunk) { if (zuulReq.getContext().isCancelled()) { chunk.release(); return; } String endpointName = "-"; try { ZuulFilter<HttpRequestMessage, HttpResponseMessage> endpoint = Preconditions.checkNotNull( getEndpoint(zuulReq), "endpoint"); endpointName = endpoint.filterName(); final HttpContent newChunk = endpoint.processContentChunk(zuulReq, chunk); if (newChunk != null) { //Endpoints do not directly forward content chunks to next stage in the filter chain. zuulReq.bufferBodyContents(newChunk); //deallocate original chunk if necessary if (newChunk != chunk) { chunk.release(); } if (isFilterAwaitingBody(zuulReq) && zuulReq.hasCompleteBody() && !(endpoint instanceof ProxyEndpoint)) { //whole body has arrived, resume filter chain invokeNextStage(filter(endpoint, zuulReq)); } } } catch (Exception ex) { handleException(zuulReq, endpointName, ex); } }
filterName = filter.filterName(); if ((! filter.isDisabled()) && (! shouldSkipFilter(inMesg, filter))) { final HttpContent newChunk = filter.processContentChunk(inMesg, chunk); if (newChunk == null) {