blob: 80c95e36643bb41b267f7af20ff8a71861befeda [file]
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.jetbrains.builtInHelp
import io.netty.channel.ChannelHandlerContext
import io.netty.handler.codec.http.FullHttpRequest
import io.netty.handler.codec.http.QueryStringDecoder
abstract class HelpProcessingRequestBase : HelpRequestHandlerBase() {
abstract override val MY_PREFIX: String
override fun process(urlDecoder: QueryStringDecoder, request: FullHttpRequest, context: ChannelHandlerContext): Boolean {
val num: String? = urlDecoder.parameters()["num"]?.get(0)
val dataToSend = getProcessedData(urlDecoder.parameters()["q"]?.get(0)!!,
if (num != null) java.lang.Integer.valueOf(num) else 100).toByteArray(Charsets.UTF_8)
sendData(dataToSend, "data.json", request, context.channel(), request.headers())
return true
}
abstract fun getProcessedData(query: String, maxHits: Int): String
}