Skip to content

Commit

Permalink
Respect WP_REDIS_SCHEME for cluster connection (#546)
Browse files Browse the repository at this point in the history
* Respect WP_REDIS_SCHEME for cluster connection

* Do the scheme as part of `build_cluster_connection_array`

* Copy logic to object-cache.php
  • Loading branch information
yatsukhnenko authored Sep 13, 2024
1 parent 04176f4 commit bda9ddd
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 12 deletions.
29 changes: 23 additions & 6 deletions includes/class-predis.php
Original file line number Diff line number Diff line change
Expand Up @@ -206,13 +206,30 @@ protected function build_cluster_connection_array() {
$cluster = array_values( WP_REDIS_CLUSTER );

foreach ( $cluster as $key => $server ) {
$connection_string = parse_url( $server );
$components = parse_url( $server );

if ( ! empty( $components['scheme'] ) ) {
$scheme = $components['scheme'];
} elseif ( defined( 'WP_REDIS_SCHEME' ) ) {
$scheme = WP_REDIS_SCHEME;
} else {
$scheme = null;
}

$cluster[ $key ] = sprintf(
"%s:%s",
$connection_string['host'],
$connection_string['port']
);
if ( isset( $scheme ) ) {
$cluster[ $key ] = sprintf(
'%s://%s:%d',
$scheme,
$components['host'],
$components['port']
);
} else {
$cluster[ $key ] = sprintf(
'%s:%d',
$components['host'],
$components['port']
);
}
}

return $cluster;
Expand Down
29 changes: 23 additions & 6 deletions includes/object-cache.php
Original file line number Diff line number Diff line change
Expand Up @@ -3027,13 +3027,30 @@ protected function build_cluster_connection_array() {
$cluster = array_values( WP_REDIS_CLUSTER );

foreach ( $cluster as $key => $server ) {
$connection_string = parse_url( $server );
$components = parse_url( $server );

$cluster[ $key ] = sprintf(
"%s:%s",
$connection_string['host'],
$connection_string['port']
);
if ( ! empty( $components['scheme'] ) ) {
$scheme = $components['scheme'];
} elseif ( defined( 'WP_REDIS_SCHEME' ) ) {
$scheme = WP_REDIS_SCHEME;
} else {
$scheme = null;
}

if ( isset( $scheme ) ) {
$cluster[ $key ] = sprintf(
'%s://%s:%d',
$scheme,
$components['host'],
$components['port']
);
} else {
$cluster[ $key ] = sprintf(
'%s:%d',
$components['host'],
$components['port']
);
}
}

return $cluster;
Expand Down

0 comments on commit bda9ddd

Please sign in to comment.