37
37
*/
38
38
public class DeltaHandler implements RuleProvider .RuleChangesObserver {
39
39
40
- private Logger log = LoggerFactory .getLogger (DeltaHandler .class );
40
+ private final Logger log = LoggerFactory .getLogger (DeltaHandler .class );
41
41
42
42
private static final String DELTA_PARAM = "delta" ;
43
43
private static final String LIMIT_PARAM = "limit" ;
@@ -54,12 +54,12 @@ public class DeltaHandler implements RuleProvider.RuleChangesObserver {
54
54
private static final String RESOURCE_KEY_PREFIX = "delta:resources" ;
55
55
private static final String ETAG_KEY_PREFIX = "delta:etags" ;
56
56
57
- private HttpClient httpClient ;
58
- private RedisProvider redisProvider ;
57
+ private final HttpClient httpClient ;
58
+ private final RedisProvider redisProvider ;
59
59
60
- private boolean rejectLimitOffsetRequests ;
60
+ private final boolean rejectLimitOffsetRequests ;
61
61
62
- private RuleProvider ruleProvider ;
62
+ private final RuleProvider ruleProvider ;
63
63
64
64
private final Vertx vertx ;
65
65
private final LoggingResourceManager loggingResourceManager ;
@@ -109,7 +109,7 @@ private boolean isDeltaGETRequest(HttpServerRequest request) {
109
109
!isBackendDelta (request .uri ())) {
110
110
return true ;
111
111
}
112
- // remove the delta backend header, its only a marker
112
+ // remove the delta backend header, it's only a marker
113
113
if (request .headers ().contains (DELTA_BACKEND_HEADER )) {
114
114
request .headers ().remove (DELTA_BACKEND_HEADER );
115
115
}
@@ -156,7 +156,7 @@ private void handleResourcePUT(final HttpServerRequest request, final Router rou
156
156
// save to storage
157
157
saveDelta (resourceKey , updateId , expireAfter , event -> {
158
158
if (event .failed ()) {
159
- log .error ("setex command for redisKey {} failed with cause: {}" , resourceKey , logCause (event ));
159
+ log .error ("set command for redisKey {} failed with cause: {}" , resourceKey , logCause (event ));
160
160
handleError (request , "error saving delta information" );
161
161
request .resume ();
162
162
} else {
@@ -225,19 +225,19 @@ private void saveOrUpdateDeltaEtag(final String etagResourceKey, final HttpServe
225
225
Long expireAfter = getExpireAfterValue (request , log );
226
226
saveDelta (etagResourceKey , requestEtag , expireAfter , event -> {
227
227
if (event .failed ()) {
228
- log .error ("setex command for redisKey {} failed with cause: {}" , etagResourceKey , logCause (event ));
228
+ log .error ("set command for redisKey {} failed with cause: {}" , etagResourceKey , logCause (event ));
229
229
}
230
230
updateCallback .handle (Boolean .TRUE );
231
231
});
232
232
}
233
233
234
234
private void saveDelta (String deltaKey , String deltaValue , Long expireAfter , Handler <AsyncResult <Object >> handler ) {
235
235
redisProvider .redis ().onSuccess (redisAPI -> {
236
- if (expireAfter == null ) {
237
- redisAPI .set (Arrays .asList (deltaKey , deltaValue ), (Handler ) handler );
238
- } else {
239
- redisAPI .setex (deltaKey , String .valueOf (expireAfter ), deltaValue , (Handler ) handler );
236
+ List <String > options = new ArrayList <>(List .of (deltaKey , deltaValue ));
237
+ if (expireAfter != null ) {
238
+ options .addAll (List .of ("EX" , expireAfter .toString ()));
240
239
}
240
+ redisAPI .set (options , (Handler ) handler );
241
241
}).onFailure (throwable -> handler .handle (new FailedAsyncResult <>(throwable )));
242
242
}
243
243
@@ -461,7 +461,7 @@ private Long getExpireAfterValue(HttpServerRequest request, Logger log) {
461
461
try {
462
462
long value = Long .parseLong (expireAfterHeaderValue );
463
463
464
- // redis returns an error if setex is called with negativ values
464
+ // redis returns an error if set is called with negative values
465
465
if (value < 0 ) {
466
466
log .warn ("Setting NO expiry on delta key because because defined value for header {} is a negative number: {}" ,
467
467
EXPIRE_AFTER_HEADER , expireAfterHeaderValue );
0 commit comments