Skip to content

Commit bda9ddd

Browse files
authored
Respect WP_REDIS_SCHEME for cluster connection (#546)
* Respect WP_REDIS_SCHEME for cluster connection * Do the scheme as part of `build_cluster_connection_array` * Copy logic to object-cache.php
1 parent 04176f4 commit bda9ddd

File tree

2 files changed

+46
-12
lines changed

2 files changed

+46
-12
lines changed

includes/class-predis.php

+23-6
Original file line numberDiff line numberDiff line change
@@ -206,13 +206,30 @@ protected function build_cluster_connection_array() {
206206
$cluster = array_values( WP_REDIS_CLUSTER );
207207

208208
foreach ( $cluster as $key => $server ) {
209-
$connection_string = parse_url( $server );
209+
$components = parse_url( $server );
210+
211+
if ( ! empty( $components['scheme'] ) ) {
212+
$scheme = $components['scheme'];
213+
} elseif ( defined( 'WP_REDIS_SCHEME' ) ) {
214+
$scheme = WP_REDIS_SCHEME;
215+
} else {
216+
$scheme = null;
217+
}
210218

211-
$cluster[ $key ] = sprintf(
212-
"%s:%s",
213-
$connection_string['host'],
214-
$connection_string['port']
215-
);
219+
if ( isset( $scheme ) ) {
220+
$cluster[ $key ] = sprintf(
221+
'%s://%s:%d',
222+
$scheme,
223+
$components['host'],
224+
$components['port']
225+
);
226+
} else {
227+
$cluster[ $key ] = sprintf(
228+
'%s:%d',
229+
$components['host'],
230+
$components['port']
231+
);
232+
}
216233
}
217234

218235
return $cluster;

includes/object-cache.php

+23-6
Original file line numberDiff line numberDiff line change
@@ -3027,13 +3027,30 @@ protected function build_cluster_connection_array() {
30273027
$cluster = array_values( WP_REDIS_CLUSTER );
30283028

30293029
foreach ( $cluster as $key => $server ) {
3030-
$connection_string = parse_url( $server );
3030+
$components = parse_url( $server );
30313031

3032-
$cluster[ $key ] = sprintf(
3033-
"%s:%s",
3034-
$connection_string['host'],
3035-
$connection_string['port']
3036-
);
3032+
if ( ! empty( $components['scheme'] ) ) {
3033+
$scheme = $components['scheme'];
3034+
} elseif ( defined( 'WP_REDIS_SCHEME' ) ) {
3035+
$scheme = WP_REDIS_SCHEME;
3036+
} else {
3037+
$scheme = null;
3038+
}
3039+
3040+
if ( isset( $scheme ) ) {
3041+
$cluster[ $key ] = sprintf(
3042+
'%s://%s:%d',
3043+
$scheme,
3044+
$components['host'],
3045+
$components['port']
3046+
);
3047+
} else {
3048+
$cluster[ $key ] = sprintf(
3049+
'%s:%d',
3050+
$components['host'],
3051+
$components['port']
3052+
);
3053+
}
30373054
}
30383055

30393056
return $cluster;

0 commit comments

Comments
 (0)