refact: [NETWORK] split call into request and response (#88)

* refact: [NETWORK] split call into request and response

* added isMocked to request

* refact: [NETWORK] domain (#90)

* refact: [NETWORK] domain

* refact: [NETWORK] domain

* refact: [NETWORK] domain

* refact: [NETWORK] domain

* refact: [NETWORK] domain

---------

Co-authored-by: Florent Champigny <florent@bere.al>

* refact: [NETWORK] domain

---------

Co-authored-by: Florent Champigny <florent@bere.al>
This commit is contained in:
Florent CHAMPIGNY 2025-08-12 11:58:52 +02:00 committed by GitHub
parent 466931e812
commit 347432d0b8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
65 changed files with 1322 additions and 884 deletions

View file

@ -4,7 +4,7 @@ import android.util.Log
object FloconLogger {
var enabled = false
private const val TAG = "Flocon"
private const val TAG = "FloconLogger"
fun logError(text: String, throwable: Throwable?) {
if(enabled) {
Log.e(TAG, text, throwable)

View file

@ -1,10 +1,16 @@
package io.github.openflocon.flocon.plugins.network
import io.github.openflocon.flocon.core.FloconPlugin
import io.github.openflocon.flocon.plugins.network.model.FloconNetworkCall
import io.github.openflocon.flocon.plugins.network.model.FloconNetworkCallRequest
import io.github.openflocon.flocon.plugins.network.model.FloconNetworkCallResponse
import io.github.openflocon.flocon.plugins.network.model.FloconNetworkRequest
import io.github.openflocon.flocon.plugins.network.model.FloconNetworkResponse
import io.github.openflocon.flocon.plugins.network.model.MockNetworkResponse
interface FloconNetworkPlugin : FloconPlugin {
val mocks: Collection<MockNetworkResponse>
fun log(call: FloconNetworkRequest)
fun logRequest(request: FloconNetworkCallRequest)
fun logResponse(response: FloconNetworkCallResponse)
}

View file

@ -1,27 +1,28 @@
package io.github.openflocon.flocon.plugins.network.model
data class FloconNetworkRequest(
val request: Request,
val response: Response,
data class FloconNetworkCall(
val request: FloconNetworkRequest,
val response: FloconNetworkResponse,
val durationMs: Double,
val floconNetworkType: String,
val isMocked: Boolean,
) {
data class Request(
val url: String,
val method: String,
val startTime: Long,
val headers: Map<String, String>,
val body: String?,
val size: Long?,
)
)
data class Response(
val httpCode: Int?,
val grpcStatus: String?,
val contentType: String?,
val body: String?,
val size: Long?,
val headers: Map<String, String>,
)
}
data class FloconNetworkRequest(
val url: String,
val method: String,
val startTime: Long,
val headers: Map<String, String>,
val body: String?,
val size: Long?,
val isMocked: Boolean,
)
data class FloconNetworkResponse(
val httpCode: Int?,
val grpcStatus: String?,
val contentType: String?,
val body: String?,
val size: Long?,
val headers: Map<String, String>,
)

View file

@ -0,0 +1,8 @@
package io.github.openflocon.flocon.plugins.network.model
data class FloconNetworkCallRequest(
val floconCallId: String,
val request: FloconNetworkRequest,
val floconNetworkType: String,
val isMocked: Boolean,
)

View file

@ -0,0 +1,9 @@
package io.github.openflocon.flocon.plugins.network.model
data class FloconNetworkCallResponse(
val floconCallId: String,
val response: FloconNetworkResponse,
val durationMs: Double,
val floconNetworkType: String,
val isMocked: Boolean,
)