Dolda2000 GitWeb
/
jsvc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git.dolda2000.com:/srv/git/r/jsvc
[jsvc.git]
/
src
/
dolda
/
jsvc
/
util
/
Http.java
diff --git
a/src/dolda/jsvc/util/Http.java
b/src/dolda/jsvc/util/Http.java
index
b83e6d2
..
d32b7ab
100644
(file)
--- a/
src/dolda/jsvc/util/Http.java
+++ b/
src/dolda/jsvc/util/Http.java
@@
-59,7
+59,7
@@
public class Http {
return(buf.toString());
}
return(buf.toString());
}
- public static String tokenunquote(Reader in) throws IOException {
+ public static String tokenunquote(
Pushback
Reader in) throws IOException {
StringBuilder buf = new StringBuilder();
String st = "eatws";
int c = in.read();
StringBuilder buf = new StringBuilder();
String st = "eatws";
int c = in.read();
@@
-70,15
+70,17
@@
public class Http {
else
st = "token";
} else if(st == "token") {
else
st = "token";
} else if(st == "token") {
- if((c < 0) || Character.isWhitespace((char)c) || (tspecials.indexOf((char)c) >= 0)) {
+ if(c == '"') {
+ st = "quoted";
+ c = in.read();
+ } else if((c < 0) || Character.isWhitespace((char)c) || (tspecials.indexOf((char)c) >= 0)) {
+ if(c >= 0)
+ in.unread(c);
if(buf.length() == 0)
return(null);
return(buf.toString());
} else if((c < 32) || (c >= 127)) {
throw(new EncodingException("Invalid characters in header"));
if(buf.length() == 0)
return(null);
return(buf.toString());
} else if((c < 32) || (c >= 127)) {
throw(new EncodingException("Invalid characters in header"));
- } else if(c == '"') {
- st = "quoted";
- c = in.read();
} else {
buf.append((char)c);
c = in.read();
} else {
buf.append((char)c);
c = in.read();