You are here

function search_api_federated_solr_get_endpoint_url in Search API Federated Solr 7.2

Same name and namespace in other branches
  1. 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;
}