In our UI:

Important! After a failed HTTP request (e.g. web service goes down, endpoint URL is wrong, etc.) Drupal assumes it has no access to the Internet and prevents itself from trying to make HTTP requests again. You may use the "Reset HTTP request status" button below to reset Drupal and allow it to make HTTP requests again. Always try this if you are not receiving data and you don't know why.

Are we sure about this in D6?

This is an ack of drupal core:

$ ack drupal_http_request_fails

includes/common.inc
482:    variable_set('drupal_http_request_fails', TRUE);

modules/system/system.install
288:    if (variable_get('drupal_http_request_fails', TRUE) && !system_check_http_request()) {

modules/system/system.module
1921:  variable_set('drupal_http_request_fails', !$works);

It's getting set in two places, and checked in one. The check merely makes system_requirements() put up a warning on the status page.

Comments

joachim’s picture

Well, we're checking it ourselves....

function content_retriever_xmlrpc($endpoint, $method, $api_key, $session_id = '',$param1 = '', $param2 = '', $param3 = '') {
  //check if HTTP requests are enabled and report error if not
  if (variable_get('drupal_http_request_fails', FALSE) == TRUE) {
    drupal_set_message(t('Drupal is unable to make HTTP requests. Please reset the HTTP request status.'), 'error', FALSE);
    watchdog('integration', 'Drupal is unable to make HTTP requests. Please reset the HTTP request status.', array(), WATCHDOG_CRITICAL);
  }