Skip to content

Commit 2830126

Browse files
authored
connection request timeout setting documentation (#1351)
1 parent 0aef786 commit 2830126

3 files changed

Lines changed: 12 additions & 7 deletions

File tree

README.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,10 @@ with the following alterations:
281281
---
282282
### Customization
283283
284-
Feign has several aspects that can be customized. For simple cases, you can use `Feign.builder()` to construct an API interface with your custom components. For example:
284+
Feign has several aspects that can be customized.
285+
For simple cases, you can use `Feign.builder()` to construct an API interface with your custom components.<br>
286+
For request setting, you can use `options(Request.Options options)` on `target()` to set connectTimeout, connectTimeoutUnit, readTimeout, readTimeoutUnit, followRedirects.<br>
287+
For example:
285288
286289
```java
287290
interface Bank {
@@ -291,8 +294,9 @@ interface Bank {
291294
292295
public class BankService {
293296
public static void main(String[] args) {
294-
Bank bank = Feign.builder().decoder(
295-
new AccountDecoder())
297+
Bank bank = Feign.builder()
298+
.decoder(new AccountDecoder())
299+
.options(new Request.Options(10, TimeUnit.SECONDS, 60, TimeUnit.SECONDS, true))
296300
.target(Bank.class, "https://api.examplebank.com");
297301
}
298302
}

example-github/src/main/java/example/github/GitHubExample.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import feign.gson.GsonEncoder;
2222
import java.io.IOException;
2323
import java.util.List;
24+
import java.util.concurrent.TimeUnit;
2425
import java.util.stream.Collectors;
2526

2627
/** Inspired by {@code com.example.retrofit.GitHubClient} */
@@ -81,6 +82,7 @@ static GitHub connect() {
8182
// https://docs.travis-ci.com/user/environment-variables/#defining-encrypted-variables-in-travisyml
8283
"Authorization", "token 383f1c1b474d8f05a21e7964976ab0d403fee071");
8384
})
85+
.options(new Request.Options(10, TimeUnit.SECONDS, 60, TimeUnit.SECONDS, true))
8486
.target(GitHub.class, "https://api.github.com");
8587
}
8688
}

example-wikipedia/src/main/java/example/wikipedia/WikipediaExample.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,12 @@
1717
import com.google.gson.GsonBuilder;
1818
import com.google.gson.reflect.TypeToken;
1919
import com.google.gson.stream.JsonReader;
20-
import feign.Feign;
21-
import feign.Logger;
22-
import feign.Param;
23-
import feign.RequestLine;
20+
import feign.*;
2421
import feign.gson.GsonDecoder;
2522
import java.io.IOException;
2623
import java.util.ArrayList;
2724
import java.util.Iterator;
25+
import java.util.concurrent.TimeUnit;
2826

2927
public class WikipediaExample {
3028

@@ -64,6 +62,7 @@ public static void main(String... args) throws InterruptedException {
6462
.decoder(new GsonDecoder(gson))
6563
.logger(new Logger.ErrorLogger())
6664
.logLevel(Logger.Level.BASIC)
65+
.options(new Request.Options(10, TimeUnit.SECONDS, 60, TimeUnit.SECONDS, true))
6766
.target(Wikipedia.class, "https://en.wikipedia.org");
6867

6968
System.out.println("Let's search for PTAL!");

0 commit comments

Comments
 (0)