function acquia_agent_stream_context_create in Acquia Connector 6.2
Same name and namespace in other branches
- 6 acquia_agent/acquia_agent_streams.inc \acquia_agent_stream_context_create()
- 7.3 acquia_agent/acquia_agent.module \acquia_agent_stream_context_create()
- 7 acquia_agent/acquia_agent.module \acquia_agent_stream_context_create()
- 7.2 acquia_agent/acquia_agent.module \acquia_agent_stream_context_create()
Builds a stream context based on a url and local .pem file if available.
1 call to acquia_agent_stream_context_create()
- _acquia_agent_request in acquia_agent/
acquia_agent_streams.inc - Send a XML-RPC request.
File
- acquia_agent/
acquia_agent_streams.inc, line 71 - XML-RPC communication functions for Acquia communication.
Code
function acquia_agent_stream_context_create($url, $module = 'acquia_agent') {
$opts = array();
$uri = parse_url($url);
$ssl_available = in_array('ssl', stream_get_transports(), TRUE) && !defined('ACQUIA_DEVELOPMENT_NOSSL') && variable_get('acquia_agent_verify_peer', 0);
if (isset($uri['scheme']) && $uri['scheme'] == 'https' && $ssl_available) {
// Look for a local certificate to validate the server identity.
$pem_file = drupal_get_path('module', $module) . '/' . $uri['host'] . '.pem';
if (file_exists($pem_file)) {
$opts['ssl'] = array(
'verify_peer' => TRUE,
'cafile' => $pem_file,
'allow_self_signed' => FALSE,
// doesn't mean anything in this case
'CN_match' => $uri['host'],
);
}
}
return stream_context_create($opts);
}