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 return
} }
// OUT >>>>>>>>>>>>>>>>>>>>>>>>>> // OUT >>>>>>>>>>>>>>>>>>>>>>>>>>
val outputStreamWriter = OutputStreamWriter(socket.outputStream) val outputStreamWriter = OutputStreamWriter(socket.outputStream)
val bufferedWriter = BufferedWriter(outputStreamWriter) val bufferedWriter = BufferedWriter(outputStreamWriter)

View File

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