aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn O. Pearce <sop@google.com>2010-02-02 18:29:51 -0800
committerShawn O. Pearce <sop@google.com>2010-02-02 18:29:51 -0800
commit73e6300d7ba808a8543b10d0d017769959e8d953 (patch)
treebcf5f076af67ddc16170e83be8b4539fcf719e97
parent71e2c1c3e54e04db561376253f7022331f8390f9 (diff)
downloadgwtjsonrpc-73e6300d7ba808a8543b10d0d017769959e8d953.tar.gz
Tolerate missing Accepts request header
A broken client might omit the header, causing an NPE on the server. Instead return an error message letting them know we expect them to expect JSON responses. Change-Id: Ic41a4b0849786dbea757acd0f8a1152e9d737dea Signed-off-by: Shawn O. Pearce <sop@google.com>
-rw-r--r--src/main/java/com/google/gwtjsonrpc/server/JsonServlet.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/main/java/com/google/gwtjsonrpc/server/JsonServlet.java b/src/main/java/com/google/gwtjsonrpc/server/JsonServlet.java
index 1bf18e9..939e1d6 100644
--- a/src/main/java/com/google/gwtjsonrpc/server/JsonServlet.java
+++ b/src/main/java/com/google/gwtjsonrpc/server/JsonServlet.java
@@ -287,6 +287,12 @@ public abstract class JsonServlet<CallType extends ActiveCall> extends
private boolean acceptJSON(final CallType call) {
final String accepts = call.httpRequest.getHeader("Accept");
+ if (accepts == null) {
+ // A really odd client, it didn't send us an accept header?
+ //
+ return false;
+ }
+
if (JsonUtil.JSON_TYPE.equals(accepts)) {
// Common case, as our JSON client side code sets only this
//