Minor cleanup

This commit is contained in:
Erik C. Thauvin 2023-01-07 07:50:30 -08:00
parent ac278b6fef
commit 67ecf7f069

View file

@ -41,18 +41,19 @@ object UrlEncoder {
private val hexDigits = "0123456789ABCDEF".toCharArray() private val hexDigits = "0123456789ABCDEF".toCharArray()
internal val usage = internal val usage =
"Usage : java -jar urlencoder-*all.jar [-ed] text" + System.lineSeparator() + "Usage : java -jar urlencoder-*all.jar [-ed] text" + System.lineSeparator() +
"Encode and decode URL components defensively." + System.lineSeparator() + " -e encode (default) " + "Encode and decode URL components defensively." + System.lineSeparator() +
System.lineSeparator() + " -d decode" " -e encode (default) " + System.lineSeparator() +
" -d decode"
// see https://www.rfc-editor.org/rfc/rfc3986#page-13 // see https://www.rfc-editor.org/rfc/rfc3986#page-13
// and https://url.spec.whatwg.org/#application-x-www-form-urlencoded-percent-encode-set // and https://url.spec.whatwg.org/#application-x-www-form-urlencoded-percent-encode-set
private val unreservedChars = BitSet('z'.code + 1).apply { private val unreservedChars = BitSet('z'.code + 1).apply {
set('-') set('-'.code)
set('.') set('.'.code)
for (c in '0'..'9') { for (c in '0'.code..'9'.code) {
set(c) set(c)
} }
for (c in 'A'..'Z') { for (c in 'A'.code..'Z'.code) {
set(c) set(c)
} }
set('_'.code) set('_'.code)
@ -61,8 +62,6 @@ object UrlEncoder {
} }
} }
private fun BitSet.set(c: Char) = this.set(c.code)
// see https://www.rfc-editor.org/rfc/rfc3986#page-13 // see https://www.rfc-editor.org/rfc/rfc3986#page-13
// and https://url.spec.whatwg.org/#application-x-www-form-urlencoded-percent-encode-set // and https://url.spec.whatwg.org/#application-x-www-form-urlencoded-percent-encode-set
private fun Char.isUnreserved(): Boolean { private fun Char.isUnreserved(): Boolean {
@ -117,7 +116,7 @@ object UrlEncoder {
bytesBuffer[bytesPos++] = v.toByte() bytesBuffer[bytesPos++] = v.toByte()
i += 2 i += 2
} catch (e: NumberFormatException) { } catch (e: NumberFormatException) {
throw IllegalArgumentException("Illegal characters in escape sequence: $e.message") throw IllegalArgumentException("Illegal characters in escape sequence: $e.message", e)
} }
} else { } else {
if (bytesBuffer != null) { if (bytesBuffer != null) {