Merge pull request #92 from exportsmedia/feature-crypto-endpoints

Add Crypto endpoints to crypto.php, update TLS.php
This commit is contained in:
Junade
2019-06-07 16:26:32 +01:00
committed by GitHub
19 changed files with 684 additions and 66 deletions

95
src/Endpoints/Crypto.php Normal file
View File

@@ -0,0 +1,95 @@
<?php
namespace Cloudflare\API\Endpoints;
use Cloudflare\API\Adapter\Adapter;
class Crypto implements API
{
private $adapter;
public function __construct(Adapter $adapter)
{
$this->adapter = $adapter;
}
/**
* Get the Opportunistic Encryption feature for a zone.
*
* @param string $zoneID The ID of the zone
* @return string|false
*/
public function getOpportunisticEncryptionSetting(string $zoneID)
{
$return = $this->adapter->get(
'zones/' . $zoneID . '/settings/opportunistic_encryption'
);
$body = json_decode($return->getBody());
if (isset($body->result)) {
return $body->result->value;
}
return false;
}
/**
* Get the Onion Routing feature for a zone.
*
* @param string $zoneID The ID of the zone
* @return string|false
*/
public function getOnionRoutingSetting(string $zoneID)
{
$return = $this->adapter->get(
'zones/' . $zoneID . '/settings/opportunistic_onion'
);
$body = json_decode($return->getBody());
if (isset($body->result)) {
return $body->result;
}
return false;
}
/**
* Update the Oppurtunistic Encryption setting for the zone
*
* @param string $zoneID The ID of the zone
* @param string $value The value of the zone setting
* @return bool
*/
public function updateOpportunisticEncryptionSetting(string $zoneID, string $value)
{
$return = $this->adapter->patch(
'zones/' . $zoneID . '/settings/opportunistic_encryption',
[
'value' => $value,
]
);
$body = json_decode($return->getBody());
if (isset($body->success) && $body->success == true) {
return true;
}
return false;
}
/**
* Update the Onion Routing setting for the zone
*
* @param string $zoneID The ID of the zone
* @param string $value The value of the zone setting
* @return bool
*/
public function updateOnionRoutingSetting(string $zoneID, string $value)
{
$return = $this->adapter->patch(
'zones/' . $zoneID . '/settings/opportunistic_onion',
[
'value' => $value,
]
);
$body = json_decode($return->getBody());
if (isset($body->success) && $body->success == true) {
return true;
}
return false;
}
}

153
src/Endpoints/SSL.php Normal file
View File

@@ -0,0 +1,153 @@
<?php
namespace Cloudflare\API\Endpoints;
use Cloudflare\API\Adapter\Adapter;
class SSL implements API
{
private $adapter;
public function __construct(Adapter $adapter)
{
$this->adapter = $adapter;
}
/**
* Get the SSL setting for the zone
*
* @param string $zoneID The ID of the zone
* @return string|false
*/
public function getSSLSetting(string $zoneID)
{
$return = $this->adapter->get(
'zones/' . $zoneID . '/settings/ssl'
);
$body = json_decode($return->getBody());
if (isset($body->result)) {
return $body->result->value;
}
return false;
}
/**
* Get SSL Verification Info for a Zone
*
* @param string $zoneID The ID of the zone
* @return array|false
*/
public function getSSLVerificationStatus(string $zoneID)
{
$return = $this->adapter->get(
'zones/' . $zoneID . '/ssl/verification'
);
$body = json_decode($return->getBody());
if (isset($body->result)) {
return $body;
}
return false;
}
/**
* Get the HTTPS Redirect setting for the zone
*
* @param string $zoneID The ID of the zone
* @return string|false
*/
public function getHTTPSRedirectSetting(string $zoneID)
{
$return = $this->adapter->get(
'zones/' . $zoneID . '/settings/always_use_https'
);
$body = json_decode($return->getBody());
if (isset($body->result)) {
return $body->result;
}
return false;
}
/**
* Get the HTTPS Rewrite setting for the zone
*
* @param string $zoneID The ID of the zone
* @return string|false
*/
public function getHTTPSRewritesSetting(string $zoneID)
{
$return = $this->adapter->get(
'zones/' . $zoneID . '/settings/automatic_https_rewrites'
);
$body = json_decode($return->getBody());
if (isset($body->result)) {
return $body->result;
}
return false;
}
/**
* Update the SSL setting for the zone
*
* @param string $zoneID The ID of the zone
* @param string $value The value of the zone setting
* @return bool
*/
public function updateSSLSetting(string $zoneID, string $value)
{
$return = $this->adapter->patch(
'zones/' . $zoneID . '/settings/ssl',
[
'value' => $value,
]
);
$body = json_decode($return->getBody());
if (isset($body->success) && $body->success == true) {
return true;
}
return false;
}
/**
* Update the HTTPS Redirect setting for the zone
*
* @param string $zoneID The ID of the zone
* @param string $value The value of the zone setting
* @return bool
*/
public function updateHTTPSRedirectSetting(string $zoneID, string $value)
{
$return = $this->adapter->patch(
'zones/' . $zoneID . '/settings/always_use_https',
[
'value' => $value,
]
);
$body = json_decode($return->getBody());
if (isset($body->success) && $body->success == true) {
return true;
}
return false;
}
/**
* Update the HTTPS Rewrite setting for the zone
*
* @param string $zoneID The ID of the zone
* @param string $value The value of the zone setting
* @return bool
*/
public function updateHTTPSRewritesSetting(string $zoneID, string $value)
{
$return = $this->adapter->patch(
'zones/' . $zoneID . '/settings/automatic_https_rewrites',
[
'value' => $value,
]
);
$body = json_decode($return->getBody());
if (isset($body->success) && $body->success == true) {
return true;
}
return false;
}
}

View File

@@ -19,6 +19,30 @@ class TLS implements API
$this->adapter = $adapter;
}
/**
* Get the TLS Client Auth setting for the zone
*
* @param string $zoneID The ID of the zone
* @return string|false
*/
public function getTLSClientAuth($zoneID)
{
$return = $this->adapter->get(
'zones/' . $zoneID . '/settings/tls_client_auth'
);
$body = json_decode($return->getBody());
if (isset($body->result)) {
return $body->result->value;
}
return false;
}
/**
* Enable TLS 1.3 for the zone
*
* @param string $zoneID The ID of the zone
* @return bool
*/
public function enableTLS13($zoneID)
{
$return = $this->adapter->patch(
@@ -26,14 +50,18 @@ class TLS implements API
['value' => 'on']
);
$body = json_decode($return->getBody());
if ($body->success) {
if (isset($body->success) && $body->success == true) {
return true;
}
return false;
}
/**
* Disable TLS 1.3 for the zone
*
* @param string $zoneID The ID of the zone
* @return bool
*/
public function disableTLS13($zoneID)
{
$return = $this->adapter->patch(
@@ -41,15 +69,19 @@ class TLS implements API
['value' => 'off']
);
$body = json_decode($return->getBody());
if ($body->success) {
if (isset($body->success) && $body->success == true) {
return true;
}
return false;
}
/**
* Update the minimum TLS version setting for the zone
*
* @param string $zoneID The ID of the zone
* @param string $minimumVersion The version to update to
* @return bool
*/
public function changeMinimumTLSVersion($zoneID, $minimumVersion)
{
$return = $this->adapter->patch(
@@ -59,73 +91,31 @@ class TLS implements API
]
);
$body = json_decode($return->getBody());
if ($body->success) {
if (isset($body->success) && $body->success == true) {
return true;
}
return false;
}
public function getHTTPSRedirectSetting($zoneID)
{
$return = $this->adapter->get(
'zones/' . $zoneID . '/settings/always_use_https'
);
$body = json_decode($return->getBody());
if ($body->success) {
return $body->result->value;
}
return false;
}
public function getHTTPSRewritesSetting($zoneID)
{
$return = $this->adapter->get(
'zones/' . $zoneID . '/settings/automatic_https_rewrites'
);
$body = json_decode($return->getBody());
if ($body->success) {
return $body->result->value;
}
return false;
}
public function updateHTTPSRedirectStatus($zoneID, $value)
/**
* Update the TLS Client Auth setting for the zone
*
* @param string $zoneID The ID of the zone
* @param string $value The value of the zone setting
* @return bool
*/
public function updateTLSClientAuth($zoneID, $value)
{
$return = $this->adapter->patch(
'zones/' . $zoneID . '/settings/always_use_https',
'zones/' . $zoneID . '/settings/tls_client_auth',
[
'value' => $value,
]
);
$body = json_decode($return->getBody());
if ($body->success) {
if (isset($body->success) && $body->success == true) {
return true;
}
return false;
}
public function updateHTTPSRewritesStatus($zoneID, $value)
{
$return = $this->adapter->patch(
'zones/' . $zoneID . '/settings/automatic_https_rewrites',
[
'value' => $value,
]
);
$body = json_decode($return->getBody());
if ($body->success) {
return true;
}
return false;
}
}