| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- 안드로이드 디자인시스템
- 프로토타입 패턴
- builderPattern
- Abstract Factory
- 함수형프로그래밍
- 추상팩토리패턴
- PrototypePattern
- 디자인패턴
- 싱글톤
- define
- Design Pattern
- compose
- 팩토리 메소드
- ㅋㅁ
- Coroutines
- ㅓ
- 디자인패턴 #
- Kotlin
- designPattern
- material3
- 빌터패턴
- android designsystem
- 추상 팩토리
- 옵저버 패턴
- 코틀린
- Observer Pattern
- Functional Programming
- 코루틴
- factory method
- Singleton
- Today
- Total
목록전체 글 (340)
오늘도 더 나은 코드를 작성하였습니까?
HTTP Request(request, get, post, etc.) 을 만드는 데 사용되는 모든 기능을 사용하면 HttpResponse 개체로 응답을 받을 수 있다. HttpResponse는 다양한 방법(raw 바이트, JSON 객체 등)으로 Request Body을 가져오고, status code, contents type, header 등과 같은 응답 매개변수를 가져오는 데 필요한 API를 이용한다. val response: HttpResponse = client.get("https://ktor.io/docs/welcome.html") Receive response body Raw body String으로 수신 val httpResponse: HttpResponse = client.get("http..
HttpSend 플러그인을 사용하면 응답에 따라 HTTP 호출을 모니터링하고 재시도할 수 있습니다. 예를 들어, 서버가 오류 응답(4xx 또는 5xx 상태 코드 포함)을 반환하는 경우 호출 로깅을 구현하거나 요청을 재시도할 수 있습니다. HttpSend 플러그인은 설치가 필요하지 않습니다. 사용하려면 HttpSend를 HttpClient.plugin 함수에 전달하고 intercept 메서드를 호출합니다. 아래 예는 응답 상태 코드에 따라 요청을 재시도하는 방법을 보여줍니다. val client = HttpClient(Apache) client.plugin(HttpSend).intercept { request -> val originalCall = execute(request) if (originalCal..
기본적으로 Ktor 클라이언트는 네트워크 또는 서버 오류로 인해 실패한 request를 재시도하지 않습니다. HttpRequestRetry 플러그인을 사용하여 실패한 요청에 대한 재시도 정책을 다양한 방법으로 구성할 수 있습니다. - 재시도 횟수 지정 - 요청 재시도 조건 - 재시도 전에 요청 수정 Install HttpRequestRetry val client = HttpClient(CIO) { install(HttpRequestRetry) } Configure HttpRequestRetry Basic retry configuration val client = HttpClient(CIO) { install(HttpRequestRetry) { retryOnServerErrors(maxRetries = 5..
user agent는 HTTP 요청을 보내는 디바이스와 브라우저 등 사용자 소프트웨어의 식별 정보를 담고 있는 request header의 한 종류이다. 임의로 수정될 수 없는 값이고, 보통 HTTP 요청 에러가 발생했을 때 요청을 보낸 사용자 환경을 알아보기 위해 사용한다. val client = HttpClient(CIO) { install(UserAgent) { agent = "Ktor client" } } Ktor는 또한 function 을 사용하여 browser 또는 curl 과 같은 User-Agent 값을 추가할 수 있다 val client = HttpClient(CIO) { BrowserUserAgent() // ... or CurlUserAgent() }
