@@ -181,27 +181,29 @@ class ProjectContextProvider(val project: Project, private val encoderServer: En
181181 }
182182 }
183183
184- fun queryChat (prompt : String ): List <RelevantDocument > {
185- logger.info { " project context: querying ${project.name} on port ${encoderServer.port} " }
186- val url = URL (" http://localhost:${encoderServer.port} /query" )
187- val payload = QueryRequestPayload (prompt)
188- val payloadJson = mapper.writeValueAsString(payload)
189- val encrypted = encoderServer.encrypt(payloadJson)
184+ fun updateIndex (filePaths : List <String >, mode : String ) {
185+ if (! isIndexComplete.get()) return
190186
191- val response = with (url.openConnection() as HttpURLConnection ) {
187+ val url = URL (" http://localhost:${encoderServer.port} /updateIndexV2" )
188+ val payload = UpdateIndexRequestV2 (filePaths, mode)
189+ val encrypted = encoderServer.encrypt(mapper.writeValueAsString(payload))
190+
191+ with (url.openConnection() as HttpURLConnection ) {
192192 setConnectionProperties(this )
193193 setConnectionTimeout(this )
194194 setConnectionRequest(this , encrypted)
195- val responseCode = this .responseCode
195+ val responseCode = responseCode
196+ logger.debug { " project context update index response code: $responseCode " }
197+ return
198+ }
199+ }
196200
197- logger.info { " project context query response code: $responseCode for $prompt " }
201+ fun queryChat (prompt : String ): List <RelevantDocument > {
202+ val payload = QueryRequestPayload (prompt)
203+ val payloadJson = mapper.writeValueAsString(payload)
204+ val encrypted = encoderServer.encrypt(payloadJson)
198205
199- if (responseCode == 200 ) {
200- this .inputStream.bufferedReader().use { reader -> reader.readText() }
201- } else {
202- " "
203- }
204- }
206+ val response = sendMsgToLsp(" query" , encrypted)
205207
206208 return try {
207209 val parsedResponse = mapper.readValue<List <Chunk >>(response)
@@ -213,27 +215,11 @@ class ProjectContextProvider(val project: Project, private val encoderServer: En
213215 }
214216
215217 fun queryInline (prompt : String , filePath : String ): List <BM25Chunk > {
216- logger.info { " project context: querying ${project.name} on port ${encoderServer.port} " }
217- val url = URL (" http://localhost:${encoderServer.port} /queryInlineProjectContext" )
218218 val payload = QueryRequestV2 (prompt, filePath)
219219 val payloadJson = mapper.writeValueAsString(payload)
220220 val encrypted = encoderServer.encrypt(payloadJson)
221221
222- val response = with (url.openConnection() as HttpURLConnection ) {
223- setConnectionProperties(this )
224- setConnectionTimeout(this )
225- setConnectionRequest(this , encrypted)
226- val responseCode = this .responseCode
227- logger.info { " project context query response code: $responseCode for $prompt " }
228-
229- val responseBody = if (responseCode == 200 ) {
230- this .inputStream.bufferedReader().use { reader -> reader.readText() }
231- } else {
232- " "
233- }
234-
235- responseBody
236- }
222+ val response = sendMsgToLsp(" queryInlineProjectContext" , encrypted)
237223
238224 return try {
239225 mapper.readValue<List <BM25Chunk >>(response)
@@ -287,20 +273,24 @@ class ProjectContextProvider(val project: Project, private val encoderServer: En
287273 }
288274 }
289275
290- fun updateIndex (filePaths : List <String >, mode : String ) {
291- if (! isIndexComplete.get()) return
292-
293- val url = URL (" http://localhost:${encoderServer.port} /updateIndexV2" )
294- val payload = UpdateIndexRequestV2 (filePaths, mode)
295- val encrypted = encoderServer.encrypt(mapper.writeValueAsString(payload))
276+ fun sendMsgToLsp (msgType : String , request : String ): String {
277+ logger.info { " sending message: ${msgType} to lsp on port ${encoderServer.port} " }
278+ val url = URL (" http://localhost:${encoderServer.port} /$msgType " )
296279
297- with (url.openConnection() as HttpURLConnection ) {
280+ return with (url.openConnection() as HttpURLConnection ) {
298281 setConnectionProperties(this )
299282 setConnectionTimeout(this )
300- setConnectionRequest(this , encrypted)
301- val responseCode = responseCode
302- logger.debug { " project context update index response code: $responseCode " }
303- return
283+ setConnectionRequest(this , request)
284+ val responseCode = this .responseCode
285+ logger.info { " receiving response for $msgType with responseCode $responseCode " }
286+
287+ val responseBody = if (responseCode == 200 ) {
288+ this .inputStream.bufferedReader().use { reader -> reader.readText() }
289+ } else {
290+ " "
291+ }
292+
293+ responseBody
304294 }
305295 }
306296
0 commit comments