Browse Source
Merge pull request #769 from johntyty912/master
fix namespace bug
master
Nikita Koksharov
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
14 additions and
9 deletions
-
src/main/java/com/corundumstudio/socketio/protocol/PacketDecoder.java
|
|
@ -300,22 +300,27 @@ public class PacketDecoder { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private String readNamespace(ByteBuf frame){ |
|
|
|
|
|
|
|
private String readNamespace(ByteBuf frame) { |
|
|
|
|
|
|
|
/** |
|
|
|
* namespace post request with url queryString, like |
|
|
|
* /message?a=1, |
|
|
|
* /message, |
|
|
|
*/ |
|
|
|
int endIndex = frame.bytesBefore((byte)'?'); |
|
|
|
if(endIndex > 0){ |
|
|
|
return readString(frame,endIndex); |
|
|
|
ByteBuf buffer = frame.slice(); |
|
|
|
// skip this frame |
|
|
|
frame.readerIndex(frame.readerIndex() + frame.readableBytes()); |
|
|
|
|
|
|
|
int endIndex = buffer.bytesBefore((byte) '?'); |
|
|
|
if (endIndex > 0) { |
|
|
|
return readString(buffer, endIndex); |
|
|
|
} |
|
|
|
endIndex = frame.bytesBefore((byte)','); |
|
|
|
if(endIndex > 0){ |
|
|
|
return readString(frame,endIndex); |
|
|
|
endIndex = buffer.bytesBefore((byte) ','); |
|
|
|
if (endIndex > 0) { |
|
|
|
return readString(buffer, endIndex); |
|
|
|
} |
|
|
|
return readString(frame); |
|
|
|
return readString(buffer); |
|
|
|
} |
|
|
|
|
|
|
|
} |