handle excessaive whitespace in header

This commit is contained in:
Öppen 2020-08-18 20:29:16 +01:00
parent 079022112f
commit 78c528dc38
2 changed files with 6 additions and 3 deletions

View File

@ -99,6 +99,7 @@ class GeminiDatasource: Datasource{
return
}
// OUT >>>>>>>>>>>>>>>>>>>>>>>>>>
val outputStreamWriter = OutputStreamWriter(socket.outputStream)
val bufferedWriter = BufferedWriter(outputStreamWriter)

View File

@ -11,19 +11,21 @@ object GeminiResponse {
const val UNKNOWN = -1
fun parseHeader(header: String): Header{
var cleanHeader = header.replace("\\s+".toRegex(), " ")
var meta = ""
when {
header.startsWith("2") -> {
val segments = header.trim().split(" ")
val segments = cleanHeader.trim().split(" ")
meta = when {
segments.size > 1 -> segments[1]
else -> "text/gemini; charset=utf-8"
}
}
else -> {
meta = when {
header.contains(" ") -> header.substring(header.indexOf(" ") + 1)
else -> header
cleanHeader.contains(" ") -> cleanHeader.substring(cleanHeader.indexOf(" ") + 1)
else -> cleanHeader
}
}
}