function search_api_federated_solr_get_endpoint_url in Search API Federated Solr 7.2
Same name and namespace in other branches
- 7.3 search_api_federated_solr.module \search_api_federated_solr_get_endpoint_url()
Determines url to use for app search + autocomplete queries based on config:
- defaults to absolute url to proxy route, appends qs params
- if proxy disabled
- compute and fallback to the server url
- if direct url endpoint passed, use it
Parameters
integer $proxy_is_disabled: Flag indicating whether or not the autocomplete proxy is disabled (0 || 1)
string $direct_url: Value of the direct url ("" || <absolute-url-with-qs-params>)
string $qs: Querystring params to append to proxy url
Return value
string URL for the endpoint to be used for query requests.
2 calls to search_api_federated_solr_get_endpoint_url()
- search_api_federated_solr_config_json in ./
search_api_federated_solr.page.inc - Create search_api_federated_solr config json endpoint.
- search_api_federated_solr_map_variables in ./
search_api_federated_solr.module
File
- ./
search_api_federated_solr.module, line 924 - search_api_federated_solr.module Contains hook implementations for the Federated Solr Search API Module.
Code
function search_api_federated_solr_get_endpoint_url($proxy_is_disabled, $direct_url, $qs = '') {
// Default to proxy url.
$options = [
'absolute' => TRUE,
];
$endpoint_url = url('search-api-federated-solr/search', $options);
if ($proxy_is_disabled) {
// Override with direct URL if provided.
if ($direct_url) {
$endpoint_url = $direct_url;
}
else {
// Fallback to solr backend select handler URL.
$endpoint_url = search_api_federated_solr_get_server_url();
}
}
// Append qs params for block form autocomplete js unless configured
// with a direct url (like a view rest export endpoint).
if ($qs && !$direct_url) {
$endpoint_url .= $qs;
}
return $endpoint_url;
}