# FMPWeb

interface FMPWeb : FMPObject

Представляет HTTP запросы к WEB ресурсу.

#### Since

21.04.01

#### Samples

    import ru.fsight.fmp.FMP
    import ru.fsight.fmp.FMPResource
    import ru.fsight.fmp.FMPWeb
    fun main() {
       //sampleStart
       /*
     * Пример создания вэб-ресурса.
     */
    val web: FMPWeb = fmp.web
    	.resource(resource) // Указать используемый ресурс.
    	.build() // Получить FMPWeb.
       //sampleEnd
    }

    import ru.fsight.fmp.FMP
    import ru.fsight.fmp.FMPResource
    import ru.fsight.fmp.FMPWeb
    fun main() {
       //sampleStart
       /*
     * Пример выполнения запроса.
     */
    val response: FMPWeb.Response = web.request().result
    val data: ByteArray = response.data // Данные, которые вернул ресурс.
       //sampleEnd
    }

## Types

Builder
Link copied to clipboard
abstract class Builder : FMPObject.Builder

Требуемые параметры: resource.

Method
Link copied to clipboard
enum Method : Enum<FMPWeb.Method>

Доступные HTTP методы.

Request
Link copied to clipboard
data class Request(val url: String = "", val method: FMPWeb.Method = Method.GET, val data: ByteArray = byteArrayOf(), val headers: Map<String, String> = mapOf())

Ответ HTTP запроса.

Response
Link copied to clipboard
data class Response(val request: FMPWeb.Request = Request(), val status: Int = -1, val data: ByteArray = byteArrayOf(), val headers: Map<String, String> = mapOf(), val exception: FMPException? = null, var stats: FMPWeb.Stats = Stats())
Stats
Link copied to clipboard
data class Stats(var connectionTime: Long = 0, var downloadSize: Long = 0, var downloadTime: Long = 0, var responseTime: Long = 0, var uploadSize: Long = 0, var uploadTime: Long = 0)

## Properties

data
Link copied to clipboard
abstract val data: ByteArray

Данные для передачи в запросе.

headers
Link copied to clipboard
abstract val headers: Map<String, String>

HTTP заголовки запроса.

method
Link copied to clipboard
abstract val method: FMPWeb.Method

Указанный HTTP метод.

path
Link copied to clipboard
abstract val path: String

Путь внутри ресурса.

resource
Link copied to clipboard
abstract val resource: FMPResource

Указанный ресурс для запроса.

## Functions

equals
Link copied to clipboard
abstract operator override fun equals(other: Any?): Boolean

Сравнить объекты между собой.

hashCode
Link copied to clipboard
abstract override fun hashCode(): Int

Хэш-код объектов. В отличие от equals он будет одинаков для объектов с одинаковыми ключевыми параметрами, но созданными от разных объектов FMP.

rebuild
Link copied to clipboard
abstract override fun rebuild(): FMPWeb.Builder
request
Link copied to clipboard
abstract fun request(): FMPResult<FMPWeb.Response>

Выполнить запрос.

toString
Link copied to clipboard
abstract override fun toString(): String

Получить ключевые параметры объекта в виде строки.