Skip to content

Commit 53fced8

Browse files
committed
simplified obtaining the http-get-resource-descriptor by adding method
getResourceDescriptor do the WebSocket interface. TooTallNate#182
1 parent 5d7a1fe commit 53fced8

File tree

5 files changed

+25
-5
lines changed

5 files changed

+25
-5
lines changed

src/main/java/org/java_websocket/WebSocket.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,4 +99,10 @@ public enum READYSTATE {
9999
* @return Returns '0 = CONNECTING', '1 = OPEN', '2 = CLOSING' or '3 = CLOSED'
100100
*/
101101
public abstract READYSTATE getReadyState();
102+
103+
/**
104+
* Returns the HTTP Request-URI as defined by http://tools.ietf.org/html/rfc2616#section-5.1.2<br>
105+
* If the opening handshake has not yet happened it will return null.
106+
**/
107+
public abstract String getResourceDescriptor();
102108
}

src/main/java/org/java_websocket/WebSocketImpl.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ public class WebSocketImpl implements WebSocket {
101101
private String closemessage = null;
102102
private Integer closecode = null;
103103
private Boolean closedremotely = null;
104+
105+
private String resourceDescriptor = null;
104106

105107
/**
106108
* crates a websocket with server role
@@ -211,6 +213,7 @@ private boolean decodeHandshake( ByteBuffer socketBufferNew ) {
211213
ClientHandshake handshake = (ClientHandshake) tmphandshake;
212214
handshakestate = d.acceptHandshakeAsServer( handshake );
213215
if( handshakestate == HandshakeState.MATCHED ) {
216+
resourceDescriptor = handshake.getResourceDescriptor();
214217
ServerHandshakeBuilder response;
215218
try {
216219
response = wsl.onWebsocketHandshakeReceivedAsServer( this, d, handshake );
@@ -605,6 +608,9 @@ public void startHandshake( ClientHandshakeBuilder handshakedata ) throws Invali
605608
// Store the Handshake Request we are about to send
606609
this.handshakerequest = draft.postProcessHandshakeRequestAsClient( handshakedata );
607610

611+
resourceDescriptor = handshakedata.getResourceDescriptor();
612+
assert( resourceDescriptor != null );
613+
608614
// Notify Listener
609615
try {
610616
wsl.onWebsocketHandshakeSentAsClient( this, this.handshakerequest );
@@ -714,4 +720,9 @@ public void close() {
714720
close( CloseFrame.NORMAL );
715721
}
716722

723+
@Override
724+
public String getResourceDescriptor() {
725+
return resourceDescriptor;
726+
}
727+
717728
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.java_websocket.handshake;
22

33
public interface ClientHandshake extends Handshakedata {
4+
/**returns the HTTP Request-URI as defined by http://tools.ietf.org/html/rfc2616#section-5.1.2*/
45
public String getResourceDescriptor();
56
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
package org.java_websocket.handshake;
22

33
public interface ClientHandshakeBuilder extends HandshakeBuilder, ClientHandshake {
4-
public void setResourceDescriptor( String resourcedescriptor );
4+
public void setResourceDescriptor( String resourceDescriptor );
55
}
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
package org.java_websocket.handshake;
22

33
public class HandshakeImpl1Client extends HandshakedataImpl1 implements ClientHandshakeBuilder {
4-
private String resourcedescriptor;
4+
private String resourceDescriptor = "*";
55

66
public HandshakeImpl1Client() {
77
}
88

9-
public void setResourceDescriptor( String resourcedescriptor ) throws IllegalArgumentException {
10-
this.resourcedescriptor = resourcedescriptor;
9+
public void setResourceDescriptor( String resourceDescriptor ) throws IllegalArgumentException {
10+
if(resourceDescriptor==null)
11+
throw new IllegalArgumentException( "http resource descriptor must not be null" );
12+
this.resourceDescriptor = resourceDescriptor;
1113
}
1214

1315
public String getResourceDescriptor() {
14-
return resourcedescriptor;
16+
return resourceDescriptor;
1517
}
1618
}

0 commit comments

Comments
 (0)