icodening commented on code in PR #13387:
URL: https://github.com/apache/dubbo/pull/13387#discussion_r1424772202


##########
dubbo-remoting/dubbo-remoting-http12/src/main/java/org/apache/dubbo/remoting/http12/netty4/h1/NettyHttp1ConnectionHandler.java:
##########
@@ -102,21 +104,24 @@ private Http1ServerTransportListener 
initTransportListenerIfNecessary(
         if (!StringUtils.hasText(contentType)) {
             throw new UnsupportedMediaTypeException(contentType);
         }
-        HttpMessageCodecFactory codecFactory = findSuitableCodec(
-                contentType,
-                
frameworkModel.getExtensionLoader(HttpMessageCodecFactory.class).getActivateExtensions());
+        HttpMessageCodecFactory codecFactory =
+                CodecUtils.determineHttpMessageCodecFactory(frameworkModel, 
headers.getContentType(), true);
         if (codecFactory == null) {
             throw new UnsupportedMediaTypeException(contentType);
         }
-        this.errorResponseObserver = new Http1ServerChannelObserver(new 
NettyHttp1Channel(ctx.channel()));
-        
this.errorResponseObserver.setHttpMessageCodec(codecFactory.createCodec(url, 
frameworkModel));
         return http1TransportListener;
     }
 
+    private void initErrorResponseObserver(ChannelHandlerContext ctx, 
Http1Request request) {
+        this.errorResponseObserver = new Http1ServerChannelObserver(new 
NettyHttp1Channel(ctx.channel()));
+        this.errorResponseObserver.setResponseEncoder(
+                CodecUtils.determineHttpMessageCodec(frameworkModel, 
request.headers(), url, false));

Review Comment:
   `CodecUtils.determineHttpMessageCodec` might be null



##########
dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/h12/http1/DefaultHttp11ServerTransportListener.java:
##########
@@ -60,12 +61,14 @@ private ServerCallListener startListener(
         switch (methodDescriptor.getRpcType()) {
             case UNARY:
                 Http1ServerChannelObserver http1ChannelObserver = new 
Http1ServerChannelObserver(httpChannel);
-                
http1ChannelObserver.setHttpMessageCodec(getHttpMessageCodec());
+                
http1ChannelObserver.setResponseEncoder(CodecUtils.determineHttpMessageCodec(

Review Comment:
   `CodecUtils.determineHttpMessageCodec` might be null



##########
dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/h12/http1/DefaultHttp11ServerTransportListener.java:
##########
@@ -60,12 +61,14 @@ private ServerCallListener startListener(
         switch (methodDescriptor.getRpcType()) {
             case UNARY:
                 Http1ServerChannelObserver http1ChannelObserver = new 
Http1ServerChannelObserver(httpChannel);
-                
http1ChannelObserver.setHttpMessageCodec(getHttpMessageCodec());
+                
http1ChannelObserver.setResponseEncoder(CodecUtils.determineHttpMessageCodec(
+                        getFrameworkModel(), getHttpMetadata().headers(), 
getUrl(), false));
                 return new AutoCompleteUnaryServerCallListener(invocation, 
invoker, http1ChannelObserver);
             case SERVER_STREAM:
                 Http1ServerChannelObserver serverStreamChannelObserver =
                         new Http1ServerStreamChannelObserver(httpChannel);
-                
serverStreamChannelObserver.setHttpMessageCodec(getHttpMessageCodec());
+                
serverStreamChannelObserver.setResponseEncoder(CodecUtils.determineHttpMessageCodec(

Review Comment:
   `CodecUtils.determineHttpMessageCodec` might be null



##########
dubbo-remoting/dubbo-remoting-http12/src/main/java/org/apache/dubbo/remoting/http12/message/CodecSupportStrategy.java:
##########


Review Comment:
   why add this class?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to