Skip to content

Commit

Permalink
Fix tri headerfilter 3.1 (#12070)
Browse files Browse the repository at this point in the history
* change headerfilter scope

* fix tri header filter
  • Loading branch information
EarthChen committed Apr 12, 2023
1 parent 6b1de07 commit 5308cc8
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,10 @@
*/
package org.apache.dubbo.rpc;

import org.apache.dubbo.common.extension.ExtensionScope;
import org.apache.dubbo.common.extension.SPI;

@SPI
@SPI(scope = ExtensionScope.FRAMEWORK)
public interface HeaderFilter {

RpcInvocation invoke(Invoker<?> invoker, RpcInvocation invocation) throws RpcException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,16 @@

package org.apache.dubbo.rpc.protocol.tri;

import io.netty.channel.Channel;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelPipeline;
import io.netty.handler.codec.http2.Http2FrameCodec;
import io.netty.handler.codec.http2.Http2FrameCodecBuilder;
import io.netty.handler.codec.http2.Http2FrameLogger;
import io.netty.handler.codec.http2.Http2MultiplexHandler;
import io.netty.handler.codec.http2.Http2Settings;
import io.netty.handler.logging.LogLevel;
import io.netty.handler.ssl.SslContext;
import org.apache.dubbo.common.URL;
import org.apache.dubbo.common.config.Configuration;
import org.apache.dubbo.common.config.ConfigurationUtils;
Expand All @@ -28,7 +38,6 @@
import org.apache.dubbo.remoting.api.pu.ChannelHandlerPretender;
import org.apache.dubbo.remoting.api.pu.ChannelOperator;
import org.apache.dubbo.rpc.HeaderFilter;
import org.apache.dubbo.rpc.model.ApplicationModel;
import org.apache.dubbo.rpc.model.FrameworkModel;
import org.apache.dubbo.rpc.model.ScopeModelAware;
import org.apache.dubbo.rpc.protocol.tri.transport.TripleClientHandler;
Expand All @@ -37,17 +46,6 @@
import org.apache.dubbo.rpc.protocol.tri.transport.TripleServerConnectionHandler;
import org.apache.dubbo.rpc.protocol.tri.transport.TripleTailHandler;

import io.netty.channel.Channel;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelPipeline;
import io.netty.handler.codec.http2.Http2FrameCodec;
import io.netty.handler.codec.http2.Http2FrameCodecBuilder;
import io.netty.handler.codec.http2.Http2FrameLogger;
import io.netty.handler.codec.http2.Http2MultiplexHandler;
import io.netty.handler.codec.http2.Http2Settings;
import io.netty.handler.logging.LogLevel;
import io.netty.handler.ssl.SslContext;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
Expand Down Expand Up @@ -79,8 +77,6 @@ public class TripleHttp2Protocol extends AbstractWireProtocol implements ScopeMo

private ExtensionLoader<HeaderFilter> filtersLoader;
private FrameworkModel frameworkModel;
private Configuration config = ConfigurationUtils.getGlobalConfiguration(
ApplicationModel.defaultModel());

public TripleHttp2Protocol() {
super(new Http2ProtocolDetector());
Expand All @@ -89,12 +85,7 @@ public TripleHttp2Protocol() {
@Override
public void setFrameworkModel(FrameworkModel frameworkModel) {
this.frameworkModel = frameworkModel;
}

@Override
public void setApplicationModel(ApplicationModel applicationModel) {
this.config = ConfigurationUtils.getGlobalConfiguration(applicationModel);
this.filtersLoader = applicationModel.getExtensionLoader(HeaderFilter.class);
this.filtersLoader = frameworkModel.getExtensionLoader(HeaderFilter.class);
}

@Override
Expand All @@ -104,11 +95,10 @@ public void close() {

@Override
public void configServerProtocolHandler(URL url, ChannelOperator operator) {

Configuration config = ConfigurationUtils.getGlobalConfiguration(url.getOrDefaultApplicationModel());
final List<HeaderFilter> headFilters;
if (filtersLoader != null) {
headFilters = filtersLoader.getActivateExtension(url,
HEADER_FILTER_KEY);
headFilters = filtersLoader.getActivateExtension(url, HEADER_FILTER_KEY);
} else {
headFilters = Collections.emptyList();
}
Expand Down Expand Up @@ -154,6 +144,7 @@ private Executor lookupExecutor(URL url) {

@Override
public void configClientPipeline(URL url, ChannelPipeline pipeline, SslContext sslContext) {
Configuration config = ConfigurationUtils.getGlobalConfiguration(url.getOrDefaultApplicationModel());
final Http2FrameCodec codec = Http2FrameCodecBuilder.forClient()
.gracefulShutdownTimeoutMillis(10000)
.initialSettings(new Http2Settings().headerTableSize(
Expand Down

0 comments on commit 5308cc8

Please sign in to comment.