summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/common.inc11
1 files changed, 11 insertions, 0 deletions
diff --git a/includes/common.inc b/includes/common.inc
index 3296d98c1..9ec58b08e 100644
--- a/includes/common.inc
+++ b/includes/common.inc
@@ -414,6 +414,7 @@ function drupal_access_denied() {
* data and redirect status.
*/
function drupal_http_request($url, $headers = array(), $method = 'GET', $data = NULL, $retry = 3) {
+ global $db_prefix;
static $self_test = FALSE;
$result = new stdClass();
// Try to clear the drupal_http_request_fails variable if it's set. We
@@ -482,6 +483,16 @@ function drupal_http_request($url, $headers = array(), $method = 'GET', $data =
$defaults['Authorization'] = 'Authorization: Basic ' . base64_encode($uri['user'] . (!empty($uri['pass']) ? ":" . $uri['pass'] : ''));
}
+ // If the database prefix is being used by SimpleTest to run the tests in a copied
+ // database then set the user-agent header to the database prefix so that any
+ // calls to other Drupal pages will run the SimpleTest prefixed database. The
+ // user-agent is used to ensure that multiple testing sessions running at the
+ // same time won't interfere with each other as they would if the database
+ // prefix were stored statically in a file or database variable.
+ if (preg_match("/^simpletest\d+/", $db_prefix)) {
+ $headers['User-Agent'] = $db_prefix;
+ }
+
foreach ($headers as $header => $value) {
$defaults[$header] = $header . ': ' . $value;
}