protected String password() throws ParseException { int startIdx = lexer.getPtr(); while (true) { char la = lexer.lookAhead(0); boolean isValidChar = false; switch (la) { case '&': case '=': case '+': case '$': case ',': isValidChar = true; } if (isValidChar || isUnreserved(la)) { lexer.consume(1); } else if (isEscaped()) { lexer.consume(3); // bug reported by // Jeff Haynie } else break; } return lexer.getBuffer().substring(startIdx, lexer.getPtr()); }
/** Name or value of a parameter. */ protected String paramNameOrValue() throws ParseException { int startIdx = lexer.getPtr(); while (lexer.hasMoreChars()) { char next = lexer.lookAhead(0); boolean isValidChar = false; switch (next) { case '[': case ']':// JvB: fixed this one case '/': case ':': case '&': case '+': case '$': isValidChar = true; } if (isValidChar || isUnreserved(next)) { lexer.consume(1); } else if (isEscaped()) { lexer.consume(3); } else break; } return lexer.getBuffer().substring(startIdx, lexer.getPtr()); }
protected String user() throws ParseException { if (debug) dbg_enter("user"); try { int startIdx = lexer.getPtr(); while (lexer.hasMoreChars()) { char la = lexer.lookAhead(0); if (isUnreserved(la) || isUserUnreserved(la)) { lexer.consume(1); } else if (isEscaped()) { lexer.consume(3); } else break; } return lexer.getBuffer().substring(startIdx, lexer.getPtr()); } finally { if (debug) dbg_leave("user"); } }
protected String uric() { if (debug) dbg_enter("uric"); try { try { char la = lexer.lookAhead(0); if (isUnreserved(la)) { lexer.consume(1); return Lexer.charAsString(la); } else if (isReserved(la)) { lexer.consume(1); return Lexer.charAsString(la); } else if (isEscaped()) { String retval = lexer.charAsString(3); lexer.consume(3); return retval; } else return null; } catch (Exception ex) { return null; } } finally { if (debug) dbg_leave("uric"); } }
protected String uricNoSlash() { if (debug) dbg_enter("uricNoSlash"); try { try { char la = lexer.lookAhead(0); if (isEscaped()) { String retval = lexer.charAsString(3); lexer.consume(3); return retval; } else if (isUnreserved(la)) { lexer.consume(1); return Lexer.charAsString(la); } else if (isReservedNoSlash(la)) { lexer.consume(1); return Lexer.charAsString(la); } else return null; } catch (ParseException ex) { return null; } } finally { if (debug) dbg_leave("uricNoSlash"); } }