You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by el...@apache.org on 2023/04/30 03:32:32 UTC

[mina] branch 2.2.X updated (a8dc2c56e -> 9770d2ad5)

This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a change to branch 2.2.X
in repository https://gitbox.apache.org/repos/asf/mina.git


    from a8dc2c56e Git ignore IDE folder
     new f73351403 Fixed a OSGi issue - a missing comma -
     new 98f456040 Merge remote-tracking branch 'origin/2.2.X' into 2.2.X
     new 7bfe266fb Updated the copyright date
     new d50ced082 Clarified the code by using meaningfull variable nalme
     new 354ba0d50 Fixing a typo
     new 2fd2be007 Added some missing javadoc
     new 9770d2ad5 Updated the HTTP various constantsé

The 7 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 NOTICE-bin.txt                                     |  2 +-
 NOTICE.txt                                         |  2 +-
 .../echoserver/ssl/BogusSSLContextFactory.java     |  2 +-
 .../org/apache/mina/http/HttpServerDecoder.java    | 14 +++---
 .../apache/mina/http/api/DefaultHttpResponse.java  |  4 +-
 .../java/org/apache/mina/http/api/HttpMethod.java  | 58 +++++++++++++++-------
 .../java/org/apache/mina/http/api/HttpStatus.java  | 40 ++++++++++++++-
 .../java/org/apache/mina/http/api/HttpVersion.java | 51 ++++++++++++++-----
 8 files changed, 131 insertions(+), 42 deletions(-)


[mina] 02/07: Merge remote-tracking branch 'origin/2.2.X' into 2.2.X

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch 2.2.X
in repository https://gitbox.apache.org/repos/asf/mina.git

commit 98f45604040b511ae25991ffb915d319643f0d89
Merge: f73351403 a8dc2c56e
Author: emmanuel lecharny <el...@apache.org>
AuthorDate: Sun Apr 30 05:15:04 2023 +0200

    Merge remote-tracking branch 'origin/2.2.X' into 2.2.X

 .gitignore                                         |  1 +
 NOTICE-bin.txt                                     |  2 +-
 NOTICE.txt                                         |  2 +-
 distribution/pom.xml                               |  2 +-
 mina-core/pom.xml                                  |  2 +-
 .../src/main/java/org/apache/mina/core/IoUtil.java |  8 +-
 .../apache/mina/core/buffer/AbstractIoBuffer.java  |  4 +-
 .../mina/core/buffer/CachedBufferAllocator.java    |  8 +-
 .../java/org/apache/mina/core/buffer/IoBuffer.java | 96 +++++++++++-----------
 .../apache/mina/core/buffer/IoBufferAllocator.java |  8 +-
 .../apache/mina/core/buffer/IoBufferHexDumper.java |  6 +-
 .../java/org/apache/mina/core/file/FileRegion.java |  6 +-
 .../filterchain/DefaultIoFilterChainBuilder.java   |  6 +-
 .../org/apache/mina/core/filterchain/IoFilter.java | 26 +++---
 .../mina/core/filterchain/IoFilterChain.java       | 40 ++++-----
 .../core/filterchain/IoFilterChainBuilder.java     |  2 +-
 .../org/apache/mina/core/future/CloseFuture.java   |  2 +-
 .../org/apache/mina/core/future/ConnectFuture.java |  2 +-
 .../apache/mina/core/future/DefaultIoFuture.java   |  2 +-
 .../java/org/apache/mina/core/future/IoFuture.java | 16 ++--
 .../org/apache/mina/core/future/ReadFuture.java    |  8 +-
 .../org/apache/mina/core/future/WriteFuture.java   |  4 +-
 .../core/polling/AbstractPollingIoConnector.java   |  2 +-
 .../core/polling/AbstractPollingIoProcessor.java   | 18 ++--
 .../mina/core/service/AbstractIoConnector.java     |  6 +-
 .../org/apache/mina/core/service/IoAcceptor.java   | 20 ++---
 .../org/apache/mina/core/service/IoProcessor.java  |  6 +-
 .../org/apache/mina/core/service/IoService.java    | 11 +--
 .../mina/core/service/IoServiceStatistics.java     | 12 +--
 .../mina/core/service/TransportMetadata.java       |  2 +-
 .../org/apache/mina/core/session/DummySession.java |  4 +-
 .../org/apache/mina/core/session/IdleStatus.java   |  6 +-
 .../mina/core/session/IdleStatusChecker.java       |  2 +-
 .../org/apache/mina/core/session/IoSession.java    | 92 ++++++++++-----------
 .../mina/core/session/IoSessionAttributeMap.java   | 14 ++--
 .../apache/mina/core/session/IoSessionConfig.java  | 12 +--
 .../session/IoSessionDataStructureFactory.java     |  4 +-
 .../org/apache/mina/core/write/WriteRequest.java   |  2 +-
 .../apache/mina/core/write/WriteRequestQueue.java  |  2 +-
 .../filter/codec/CumulativeProtocolDecoder.java    | 20 ++---
 .../apache/mina/filter/codec/ProtocolDecoder.java  |  4 +-
 .../codec/RecoverableProtocolDecoderException.java |  2 +-
 .../filter/codec/SynchronizedProtocolDecoder.java  |  2 +-
 .../filter/codec/SynchronizedProtocolEncoder.java  |  2 +-
 .../codec/demux/DemuxingProtocolEncoder.java       |  2 +-
 .../mina/filter/codec/demux/MessageDecoder.java    |  6 +-
 .../mina/filter/codec/demux/MessageEncoder.java    |  2 +-
 .../ObjectSerializationCodecFactory.java           |  4 +-
 .../serialization/ObjectSerializationDecoder.java  |  4 +-
 .../ObjectSerializationInputStream.java            |  4 +-
 .../ConsumeToDynamicTerminatorDecodingState.java   |  4 +-
 .../ConsumeToLinearWhitespaceDecodingState.java    |  2 +-
 .../codec/statemachine/CrLfDecodingState.java      |  6 +-
 .../filter/codec/statemachine/DecodingState.java   |  2 +-
 .../filter/codec/statemachine/SkippingState.java   |  4 +-
 .../mina/filter/codec/textline/LineDelimiter.java  | 18 ++--
 .../codec/textline/TextLineCodecFactory.java       |  4 +-
 .../filter/codec/textline/TextLineDecoder.java     | 18 ++--
 .../filter/codec/textline/TextLineEncoder.java     | 14 ++--
 .../executor/DefaultIoEventSizeEstimator.java      |  2 +-
 .../mina/filter/executor/ExecutorFilter.java       |  4 +-
 .../mina/filter/executor/IoEventQueueHandler.java  | 10 +--
 .../mina/filter/keepalive/KeepAliveFilter.java     | 54 ++++++------
 .../filter/keepalive/KeepAliveMessageFactory.java  |  8 +-
 .../apache/mina/filter/ssl/KeyStoreFactory.java    |  2 +-
 .../apache/mina/filter/ssl/SslContextFactory.java  | 18 ++--
 .../java/org/apache/mina/filter/ssl/SslFilter.java | 34 +++++---
 .../util/SessionAttributeInitializingFilter.java   | 14 ++--
 .../mina/handler/chain/ChainedIoHandler.java       |  8 +-
 .../apache/mina/handler/chain/IoHandlerChain.java  |  6 +-
 .../mina/handler/demux/DemuxingIoHandler.java      | 12 +--
 .../apache/mina/handler/demux/MessageHandler.java  |  2 +-
 .../mina/handler/stream/StreamIoHandler.java       |  8 +-
 .../mina/proxy/AbstractProxyLogicHandler.java      |  2 +-
 .../org/apache/mina/proxy/ProxyLogicHandler.java   |  2 +-
 .../apache/mina/proxy/utils/IoBufferDecoder.java   |  8 +-
 .../apache/mina/proxy/utils/StringUtilities.java   |  2 +-
 .../socket/AbstractDatagramSessionConfig.java      | 30 +++----
 .../socket/AbstractSocketSessionConfig.java        | 48 +++++------
 .../mina/transport/socket/DatagramAcceptor.java    |  2 +-
 .../transport/socket/DatagramSessionConfig.java    |  6 +-
 .../mina/transport/socket/SocketAcceptor.java      |  4 +-
 .../mina/transport/socket/SocketSessionConfig.java | 28 +++----
 .../socket/nio/NioDatagramSessionConfig.java       |  4 +-
 .../transport/socket/nio/NioSocketAcceptor.java    |  4 +-
 .../org/apache/mina/util/AvailablePortFinder.java  |  2 +-
 .../org/apache/mina/util/ExceptionMonitor.java     |  4 +-
 .../apache/mina/util/LazyInitializedCacheMap.java  |  2 +-
 .../org/apache/mina/util/byteaccess/ByteArray.java |  2 +-
 .../byteaccess/CompositeByteArrayRelativeBase.java |  4 +-
 .../mina/util/byteaccess/IoAbsoluteReader.java     | 16 ++--
 .../mina/util/byteaccess/IoRelativeReader.java     |  2 +-
 mina-example/pom.xml                               |  2 +-
 .../mina/example/chat/client/package-info.java     | 17 +---
 .../apache/mina/example/chat/client/package.html   | 24 ------
 .../org/apache/mina/example/chat/package-info.java | 17 +---
 .../java/org/apache/mina/example/chat/package.html | 24 ------
 .../mina/example/echoserver/package-info.java      | 17 +---
 .../apache/mina/example/echoserver/package.html    | 24 ------
 .../mina/example/echoserver/ssl/package-info.java  | 17 +---
 .../mina/example/echoserver/ssl/package.html       | 24 ------
 .../apache/mina/example/netcat/package-info.java   | 17 +---
 .../org/apache/mina/example/netcat/package.html    | 25 ------
 .../apache/mina/example/proxy/package-info.java    | 17 +---
 .../org/apache/mina/example/proxy/package.html     | 25 ------
 .../apache/mina/example/reverser/package-info.java | 17 +---
 .../org/apache/mina/example/reverser/package.html  | 25 ------
 .../sumup/codec/AbstractMessageDecoder.java        |  2 +-
 .../mina/example/sumup/codec/package-info.java     | 17 +---
 .../apache/mina/example/sumup/codec/package.html   | 25 ------
 .../mina/example/sumup/message/package-info.java   | 17 +---
 .../apache/mina/example/sumup/message/package.html | 25 ------
 .../apache/mina/example/sumup/package-info.java    | 17 +---
 .../org/apache/mina/example/sumup/package.html     | 25 ------
 .../apache/mina/example/tennis/package-info.java   | 17 +---
 .../org/apache/mina/example/tennis/package.html    | 24 ------
 mina-filter-compression/pom.xml                    |  2 +-
 .../mina/filter/compression/CompressionFilter.java | 16 ++--
 .../org/apache/mina/filter/compression/Zlib.java   |  8 +-
 mina-http/pom.xml                                  |  2 +-
 .../java/org/apache/mina/http/api/HttpMessage.java |  6 +-
 .../java/org/apache/mina/http/api/HttpRequest.java |  2 +-
 mina-integration-beans/pom.xml                     |  2 +-
 .../apache/mina/integration/beans/NullEditor.java  |  2 +-
 mina-integration-jmx/pom.xml                       |  2 +-
 .../apache/mina/integration/jmx/package-info.java  | 82 ++++++++++++++++++
 .../org/apache/mina/integration/jmx/package.html   | 88 --------------------
 mina-integration-ognl/pom.xml                      |  2 +-
 .../mina/integration/ognl/IoSessionFinder.java     |  6 +-
 .../integration/ognl/PropertyTypeConverter.java    |  6 +-
 mina-integration-xbean/pom.xml                     |  2 +-
 mina-legal/pom.xml                                 |  2 +-
 mina-statemachine/pom.xml                          |  2 +-
 .../statemachine/StateMachineProxyBuilder.java     |  4 +-
 .../context/AbstractStateContextLookup.java        | 10 +--
 .../transition/AbstractSelfTransition.java         |  4 +-
 .../transition/AbstractTransition.java             |  4 +-
 .../statemachine/transition/SelfTransition.java    |  4 +-
 .../mina/statemachine/transition/Transition.java   |  8 +-
 mina-transport-apr/pom.xml                         |  2 +-
 .../mina/transport/socket/apr/AprIoProcessor.java  |  6 +-
 mina-transport-serial/pom.xml                      |  2 +-
 .../mina/transport/serial/SerialAddressEditor.java |  2 +-
 pom.xml                                            |  4 +-
 144 files changed, 640 insertions(+), 1049 deletions(-)


[mina] 05/07: Fixing a typo

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch 2.2.X
in repository https://gitbox.apache.org/repos/asf/mina.git

commit 354ba0d5075e0ea74d8f7fb5830d304f4c939f37
Author: emmanuel lecharny <el...@apache.org>
AuthorDate: Sun Apr 30 05:23:23 2023 +0200

    Fixing a typo
---
 .../org/apache/mina/example/echoserver/ssl/BogusSSLContextFactory.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mina-example/src/main/java/org/apache/mina/example/echoserver/ssl/BogusSSLContextFactory.java b/mina-example/src/main/java/org/apache/mina/example/echoserver/ssl/BogusSSLContextFactory.java
index 2addbd85d..6c3c22ebc 100644
--- a/mina-example/src/main/java/org/apache/mina/example/echoserver/ssl/BogusSSLContextFactory.java
+++ b/mina-example/src/main/java/org/apache/mina/example/echoserver/ssl/BogusSSLContextFactory.java
@@ -64,7 +64,7 @@ public class BogusSSLContextFactory {
     //           -keypass boguspw -storepass boguspw -keystore bogus.cert
 
     /**
-     * Bougus keystore password.
+     * Bogus keystore password.
      */
     private static final char[] BOGUS_PW = { 'b', 'o', 'g', 'u', 's', 'p', 'w' };
 


[mina] 06/07: Added some missing javadoc

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch 2.2.X
in repository https://gitbox.apache.org/repos/asf/mina.git

commit 2fd2be0078028e2b8f92b8fbbfddffaafcd11f8d
Author: emmanuel lecharny <el...@apache.org>
AuthorDate: Sun Apr 30 05:23:51 2023 +0200

    Added some missing javadoc
---
 .../src/main/java/org/apache/mina/http/api/DefaultHttpResponse.java   | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/mina-http/src/main/java/org/apache/mina/http/api/DefaultHttpResponse.java b/mina-http/src/main/java/org/apache/mina/http/api/DefaultHttpResponse.java
index bfef973e3..1194de01b 100644
--- a/mina-http/src/main/java/org/apache/mina/http/api/DefaultHttpResponse.java
+++ b/mina-http/src/main/java/org/apache/mina/http/api/DefaultHttpResponse.java
@@ -27,11 +27,13 @@ import java.util.Map;
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
 public class DefaultHttpResponse implements HttpResponse {
-
+    /** The HTTP version (one of 1.0 or 1.1) */
     private final HttpVersion version;
 
+    /** The HTTP status */
     private final HttpStatus status;
 
+    /** The HTTP headers */
     private final Map<String, String> headers;
 
     /**


[mina] 03/07: Updated the copyright date

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch 2.2.X
in repository https://gitbox.apache.org/repos/asf/mina.git

commit 7bfe266fbfd82c14db41e06bd4b35e13260f3aa9
Author: emmanuel lecharny <el...@apache.org>
AuthorDate: Sun Apr 30 05:21:13 2023 +0200

    Updated the copyright date
---
 NOTICE-bin.txt | 2 +-
 NOTICE.txt     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/NOTICE-bin.txt b/NOTICE-bin.txt
index 25296e820..0688a2c8c 100644
--- a/NOTICE-bin.txt
+++ b/NOTICE-bin.txt
@@ -1,5 +1,5 @@
 Apache MINA
-Copyright 2007-2022 The Apache Software Foundation.
+Copyright 2007-2023 The Apache Software Foundation.
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/NOTICE.txt b/NOTICE.txt
index 55e223289..1362ad1c3 100644
--- a/NOTICE.txt
+++ b/NOTICE.txt
@@ -1,5 +1,5 @@
 Apache MINA
-Copyright 2007-2022 The Apache Software Foundation.
+Copyright 2007-2023 The Apache Software Foundation.
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).


[mina] 01/07: Fixed a OSGi issue - a missing comma -

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch 2.2.X
in repository https://gitbox.apache.org/repos/asf/mina.git

commit f73351403b4c82894398c342d1ed4dce1861d0b9
Author: emmanuel lecharny <el...@apache.org>
AuthorDate: Sun Apr 30 05:08:33 2023 +0200

    Fixed a OSGi issue - a missing comma -
---
 mina-core/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mina-core/pom.xml b/mina-core/pom.xml
index 3bda3f293..1f644401a 100644
--- a/mina-core/pom.xml
+++ b/mina-core/pom.xml
@@ -94,7 +94,7 @@
               org.apache.mina.transport.socket,
               org.apache.mina.transport.socket.nio,
               org.apache.mina.transport.vmpipe,
-              org.apache.mina.util
+              org.apache.mina.util,
               org.apache.mina.util.byteaccess
             </Export-Package>
             <Import-Package>


[mina] 07/07: Updated the HTTP various constantsé

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch 2.2.X
in repository https://gitbox.apache.org/repos/asf/mina.git

commit 9770d2ad5db0fe277adb4917103e960ddef8b9a4
Author: emmanuel lecharny <el...@apache.org>
AuthorDate: Sun Apr 30 05:31:47 2023 +0200

    Updated the HTTP various constantsé
---
 .../java/org/apache/mina/http/api/HttpMethod.java  | 58 +++++++++++++++-------
 .../java/org/apache/mina/http/api/HttpStatus.java  | 40 ++++++++++++++-
 .../java/org/apache/mina/http/api/HttpVersion.java | 51 ++++++++++++++-----
 3 files changed, 117 insertions(+), 32 deletions(-)

diff --git a/mina-http/src/main/java/org/apache/mina/http/api/HttpMethod.java b/mina-http/src/main/java/org/apache/mina/http/api/HttpMethod.java
index 252c32f1d..04dc6ee26 100644
--- a/mina-http/src/main/java/org/apache/mina/http/api/HttpMethod.java
+++ b/mina-http/src/main/java/org/apache/mina/http/api/HttpMethod.java
@@ -25,9 +25,7 @@ package org.apache.mina.http.api;
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
 public enum HttpMethod {
-    /** The OPTIONS method */
-    OPTIONS, 
-    
+    // HTTP 1.0 official methods
     /** The GET method */
     GET, 
     
@@ -37,33 +35,55 @@ public enum HttpMethod {
     /** The POST method */
     POST, 
     
-    /** The PUT method */
-    PUT, 
+    // HTTP 1.1 official methods
+    /** The CONNECT method */
+    CONNECT,
     
-    /** The PATCH method */
-    PATCH,
+    /** The DELETE method */
+    DELETE, 
     
-    /** The COPY method */
-    COPY,
+    /** The OPTIONS method */
+    OPTIONS, 
     
-    /** The MOVE method */
-    MOVE,
+    /** The PUT method */
+    PUT, 
     
-    /** The DELETE method */
-    DELETE, 
+    /** The TRACE method */
+    TRACE, 
     
+    // Additional HTTP 1.0 methods
     /** The LINK method */
     LINK,
     
     /** The UNLINK method */
     UNLINK,
-        
-    /** The TRACE method */
-    TRACE, 
     
-    /** The WRAPPED method */
+    // Additional HTTP 1.1 methods
+    /** The PATCH method, RFC 5789 */
+    PATCH,
+    
+    // Other methods
+    /** The COPY method, RFC 4918*/
+    COPY,
+    
+    /** The MOVE method, RFC 5789 */
+    MOVE,
+    
+    /** The LOCK method, RFC 5789 */
+    LOCK,
+    
+    /** The UNLOCK method, RFC 5789 */
+    UNLOCK,
+    
+    /** The WRAPPED method ??? */
     WRAPPED,
     
-    /** The CONNECT method */
-    CONNECT
+    /** Unknown method */
+    UNKNOWN;
+    
+    String name;
+    
+    public void setName(String name) {
+        this.name = name;
+    }
 }
diff --git a/mina-http/src/main/java/org/apache/mina/http/api/HttpStatus.java b/mina-http/src/main/java/org/apache/mina/http/api/HttpStatus.java
index a8af90996..aee07c47e 100644
--- a/mina-http/src/main/java/org/apache/mina/http/api/HttpStatus.java
+++ b/mina-http/src/main/java/org/apache/mina/http/api/HttpStatus.java
@@ -26,6 +26,7 @@ package org.apache.mina.http.api;
  */
 public enum HttpStatus {
 
+    // 1xx - Information
     /**
      * 100 - Continue
      */
@@ -33,7 +34,17 @@ public enum HttpStatus {
     /**
      * 101 - Switching Protocols
      */
-    INFORMATIONAL_SWITCHING_PROTOCOLS(101, "HTTP/1.1 101 Swtiching Protocols"),
+    INFORMATIONAL_SWITCHING_PROTOCOLS(101, "HTTP/1.1 101 Switching Protocols"),
+    /**
+     * 102 - Proxessing, RFC 2518
+     */
+    //PROCESSING(102, "HTTP/1.1 102 Processing"),
+    /**
+     * 103 - Early Hints, RFC 8297
+     */
+    //EARLY_HINTS(103, "HTTP/1.1 103 Early Hints"),
+    
+    // 2xx - Succes
     /**
      * 200 - OK
      */
@@ -63,6 +74,7 @@ public enum HttpStatus {
      */
     SUCCESS_PARTIAL_CONTENT(206, "HTTP/1.1 206 Partial Content"),
 
+    // 3xx - Redirection
     /**
      * 300 - Multiple Choices
      */
@@ -91,7 +103,12 @@ public enum HttpStatus {
      * 307 - Temporary Redirect
      */
     REDIRECTION_TEMPORARILY_REDIRECT(307, "HTTP/1.1 307 Temporary Redirect"),
+    /**
+     * 308 - Permanent Redirect
+     */
+    PERMANENT_REDIRECT(308, "HTTP/1.1 308 Permanent Redirect"),
 
+    // 4xx - Client Error
     /**
      * 400 - Bad Request
      */
@@ -160,7 +177,28 @@ public enum HttpStatus {
      * 417 - Expectation Failed
      */
     CLIENT_ERROR_EXPECTATION_FAILED(417, "HTTP/1.1 417 Expectation Failed"),
+    
+    /**
+     * 418 - Unused (RFC2324 was an April 1 RFC that lampooned the various ways HTTP was abused)
+     */
+    CLIENT_ERROR_UNUSED(418, "HTTP¨/1.1 418 - Unused"),
+    
+    /**
+     * 421 - Misdirected Request
+     */
+    CLIENT_ERROR_MISDIRECTED_REQUEST(421, "HTTP¨/1.1 421 Misdirected Request"),
+    
+    /**
+     * 422 - Unprocessable Content
+     */
+    CLIENT_ERROR_UNPROCESSABLE_CONTENT(422, "HTTP¨/1.1 422 Unprocessable Content"),
+    
+    /**
+     * 426 - Upgrade Required
+     */
+    CLIENT_ERROR_UPGRADE_REQUIRED(426, "HTTP/1.1 426 Upgrade Required"),
 
+    // 5xx - Server Error
     /**
      * 500 - Internal Server Error
      */
diff --git a/mina-http/src/main/java/org/apache/mina/http/api/HttpVersion.java b/mina-http/src/main/java/org/apache/mina/http/api/HttpVersion.java
index 98fd69537..6d5d913ba 100644
--- a/mina-http/src/main/java/org/apache/mina/http/api/HttpVersion.java
+++ b/mina-http/src/main/java/org/apache/mina/http/api/HttpVersion.java
@@ -20,20 +20,37 @@
 package org.apache.mina.http.api;
 
 /**
- * Type safe enumeration representing HTTP protocol version
+ * Type safe enumeration representing HTTP protocol version. Must be
+ * one of :
+ * <ul>
+ *   <li>HTTP 1.0</li>
+ *   <li>HTTP 1.1</li>
+ *   <li>HTTP 1.2</li>
+ *   <li>HTTP 1.3</li>
+ * </ul>
  * 
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
 public enum HttpVersion {
+    /**
+     * HTTP 1/0
+     */
+    HTTP_1_0("HTTP/1.0"),
+
     /**
      * HTTP 1/1
      */
     HTTP_1_1("HTTP/1.1"),
 
     /**
-     * HTTP 1/0
+     * HTTP 1/2
      */
-    HTTP_1_0("HTTP/1.0");
+    HTTP_1_2("HTTP/1.2"),
+
+    /**
+     * HTTP 1/3
+     */
+    HTTP_1_3("HTTP/1.3");
 
     private final String value;
 
@@ -47,16 +64,27 @@ public enum HttpVersion {
      * @param string The String contaoning the HTTP version
      * @return The version, or <code>null</code> if no version is found
      */
-    public static HttpVersion fromString(String string) {
-        if (HTTP_1_1.toString().equalsIgnoreCase(string)) {
-            return HTTP_1_1;
+    public static HttpVersion fromString(String httpVersion) {
+        if (httpVersion == null) {
+            return null;
         }
-
-        if (HTTP_1_0.toString().equalsIgnoreCase(string)) {
-            return HTTP_1_0;
+        
+        switch (httpVersion.toUpperCase()) {
+            case "HTTP/1.0":
+                return HTTP_1_0;
+                
+            case "HTTP/1.1":
+                return HTTP_1_1;
+                
+            case "HTTP/1.2":
+                return HTTP_1_2;
+                
+            case "HTTP/1.3":
+                return HTTP_1_3;
+                
+            default:
+                return null;
         }
-
-        return null;
     }
 
     /**
@@ -66,5 +94,4 @@ public enum HttpVersion {
     public String toString() {
         return value;
     }
-
 }


[mina] 04/07: Clarified the code by using meaningfull variable nalme

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch 2.2.X
in repository https://gitbox.apache.org/repos/asf/mina.git

commit d50ced082f4bdc35a6e5fe95063ba8767df201ad
Author: emmanuel lecharny <el...@apache.org>
AuthorDate: Sun Apr 30 05:22:20 2023 +0200

    Clarified the code by using meaningfull variable nalme
---
 .../main/java/org/apache/mina/http/HttpServerDecoder.java  | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/mina-http/src/main/java/org/apache/mina/http/HttpServerDecoder.java b/mina-http/src/main/java/org/apache/mina/http/HttpServerDecoder.java
index 699292447..3556adbb4 100644
--- a/mina-http/src/main/java/org/apache/mina/http/HttpServerDecoder.java
+++ b/mina-http/src/main/java/org/apache/mina/http/HttpServerDecoder.java
@@ -84,8 +84,8 @@ public class HttpServerDecoder implements ProtocolDecoder {
         DecoderState state = (DecoderState) session.getAttribute(DECODER_STATE_ATT);
         
         if (null == state) {
-            session.setAttribute(DECODER_STATE_ATT, DecoderState.NEW);
-            state = (DecoderState) session.getAttribute(DECODER_STATE_ATT);
+            state = DecoderState.NEW;
+            session.setAttribute(DECODER_STATE_ATT, state);
         }
         
         switch (state) {
@@ -105,9 +105,11 @@ public class HttpServerDecoder implements ProtocolDecoder {
                     LOGGER.debug("decoding NEW");
                 }
                 
-                HttpRequestImpl rq = parseHttpRequestHead(msg.buf());
+                HttpRequestImpl httpRequest = parseHttpRequestHead(msg.buf());
+                session.removeAttribute(DECODER_STATE_ATT);
+
     
-                if (rq == null) {
+                if (httpRequest == null) {
                     // we copy the incoming BB because it's going to be recycled by the inner IoProcessor for next reads
                     ByteBuffer partial = ByteBuffer.allocate(msg.remaining());
                     partial.put(msg.buf());
@@ -117,9 +119,9 @@ public class HttpServerDecoder implements ProtocolDecoder {
                     session.setAttribute(DECODER_STATE_ATT, DecoderState.HEAD);
                     break;
                 } else {
-                    out.write(rq);
+                    out.write(httpRequest);
                     // is it a request with some body content ?
-                    String contentLen = rq.getHeader("content-length");
+                    String contentLen = httpRequest.getHeader("content-length");
     
                     if (contentLen != null) {
                         if (LOGGER.isDebugEnabled()) {