Code Analysis: bunny.net 2.0.2

Function Rating Maintainability Complexity Lines of code
Bunny\Wordpress\Admin\Controller\Cdn::run()
D
26
37 156
Bunny\Wordpress\Admin\Controller\Wizard::step2()
C
28
26 142
Bunny\Wordpress\Admin\Controller\Offloader::run()
C
32 22 105
Bunny\Wordpress\Admin\Controller\Overview::handleGetApiData()
A
39 12 61
Bunny\Wordpress\Service\AttachmentMover::moveAttachmentToCDN()
A
42 12 52
Bunny\Wordpress\Admin\Controller\Index::run()
A
41 10 52
Bunny\Wordpress\Config\Optimizer::handlePost()
A
51 11 21
Bunny\Wordpress\Admin\Controller\Cdn::saveApiKey()
A
47 10 34
Bunny\Wordpress\Utils\Offloader::checkForExistingEdgeRule()
A
49 10 30
Bunny\Wordpress\Service\AttachmentMover::perform()
A
45 9 39
Bunny\Wordpress\Admin\Controller\Wizard::run()
A
47 8 35
Bunny\Wordpress\Utils\Offloader::updateStoragePassword()
A
48 8 34
Bunny\Wordpress\REST\Controller::sync()
A
48 8 33
Bunny\Wordpress\Offloader::delete_attachment()
A
50 8 28
Bunny\Wordpress\Api\Client::findDnsRecordForHostname()
A
50 8 27
Bunny\Wordpress\Api\Client::request()
A
51 8 25
Bunny\Wordpress\Admin\Controller\Optimizer::run()
A
46 7 39
Bunny\Wordpress\Api\Client::createPullzone()
A
52 8 21
Bunny\Wordpress\Config\Optimizer::fromApiResponse()
A
55 8 19
Bunny\Wordpress\HtmlRewriter::rewriteCdn()
S
47 6 34
Bunny\Wordpress\Admin\Controller\Reset::run()
S
48 6 32
Bunny\Wordpress\Service\OffloaderSetup::validatePost()
S
59 7 13
Bunny\Wordpress\Admin\Router::route()
S
51 6 25
Bunny\Wordpress\Service\MigrateFromV1::migrateApiKey()
S
52 6 23
Bunny\Wordpress\Admin\Controller\Wizard::step2CreatePullzone()
S
55 6 19
Bunny\Wordpress\Service\CdnAcceleration::createPullzone()
S
55 6 19
Bunny\Wordpress\Offloader::updated_postmeta()
S
59 6 15
Bunny\Wordpress\Config\Cdn::handlePost()
S
56 6 15
Bunny\Wordpress\Admin\Controller\UserData::run()
S
50 5 28
Bunny\Wordpress\Offloader::wp_generate_attachment_metadata()
S
61 6 12
Bunny\Wordpress\Admin\Controller\Overview::run()
S
54 5 20
Bunny\Wordpress\HtmlRewriter::handleSrcset()
S
55 5 19
Bunny\Wordpress\Service\CdnAcceleration::swapOptimizerConfiguration()
S
56 5 18
Bunny\Wordpress\Offloader::update_attached_file()
S
56 5 17
Bunny\Wordpress\HtmlRewriter::isSuffixExcluded()
S
58 5 16
Bunny\Wordpress\Service\AttachmentCounter::count()
S
50 4 31
Bunny\Wordpress\Service\MigrateFromV1::perform()
S
57 5 16
Bunny\Wordpress\Offloader::is_uploading_new_attachment()
S
63 6 10
Bunny\Wordpress\Utils\Offloader::shouldShowSyncDelayedMessage()
S
59 5 14
Bunny\Wordpress\Service\CdnAcceleration::isRequestAccelerated()
S
61 5 12
Bunny\Wordpress\Service\MigrateFromV1::migrateOptional()
S
60 5 12
Bunny\Wordpress\Service\AttachmentMover::getAttachmentsAndLock()
S
48 3 36
Bunny\Wordpress\Service\OffloaderSetup::perform()
S
49 3 30
Bunny\Wordpress\Service\OffloaderSetup::createStorageZone()
S
57 4 15
Bunny\Wordpress\Utils\Offloader::getPathPrefix()
S
65 5 8
Bunny\Wordpress\Api\Client::getUser()
S
59 4 14
Bunny\Wordpress\Service\CdnAcceleration::getDNSRecord()
S
60 4 14
Bunny\Wordpress\HtmlRewriter::register()
S
60 4 13
Bunny\Wordpress\HtmlRewriter::rewriteUrl()
S
60 4 13
Bunny\Wordpress\Offloader::wp_delete_file()
S
60 4 13
Bunny\Wordpress\Api\Client::searchDnsZones()
S
61 4 11
Bunny\Wordpress\Utils\Wizard::normalizeUrl()
S
62 4 11
Bunny\Wordpress\Config\Cdn::fromWpOptions()
S
55 3 17
Bunny\Wordpress\Api\Dnszone\Info::fromArray()
S
64 4 8
Bunny\Wordpress\Config\Offloader::handlePost()
S
67 4 7
Bunny\Wordpress\HtmlRewriter::rewriteFonts()
S
59 3 15
Bunny\Wordpress\Service\CdnAcceleration::shouldShowAlert()
S
68 4 7
Bunny\Wordpress\Offloader::wp_handle_upload_overrides()
S
59 3 14
Bunny\Wordpress\Service\CdnAcceleration::enable()
S
59 3 14
Bunny\Wordpress\Api\Client::updateStorageZoneCron()
S
60 3 13
Bunny\Wordpress\Api\Client::findPullzoneByName()
S
59 3 13
Bunny\Wordpress\Service\CdnAcceleration::disable()
S
60 3 13
Bunny\Wordpress\Offloader::image_make_intermediate_size()
S
61 3 12
Bunny\Wordpress\Config\Offloader::fromWpOptions()
S
60 3 11
Bunny\Wordpress\Api\Client::__construct()
S
57 2 17
Bunny\Wordpress\Admin\Container::getCdnAcceleration()
S
59 2 16
Bunny\Wordpress\Api\Config::fromWpOptions()
S
67 3 7
Bunny\Wordpress\HtmlRewriter::rewrite()
S
67 3 9
Bunny\Wordpress\Offloader::register()
S
57 2 15
Bunny\Wordpress\Api\Client::createStorageZone()
S
58 2 14
Bunny\Wordpress\Admin\Controller\Fonts::run()
S
60 2 13
bunnycdn_admin_container()
S
62 2 12
Bunny\Wordpress\Api\Client::updateStorageZoneForOffloader()
S
61 2 12
Bunny\Wordpress\Container::getStorageClient()
S
63 2 12
Bunny\Wordpress\Container::getOffloaderUtils()
S
63 2 12
Bunny\Wordpress\Service\MigrateFromV1::migrateRequired()
S
60 2 12
Bunny\Wordpress\Config\Reset::all()
S
53 1 26
Bunny\Wordpress\Service\OffloaderSetup::createEdgeRules()
S
55 1 21
Bunny\Wordpress\Config\Optimizer::toApiPostRequest()
S
55 1 19
Bunny\Wordpress\Config\Optimizer::__construct()
S
57 1 17
Bunny\Wordpress\Admin\Controller\Wizard::step1()
S
57 1 17
Bunny\Wordpress\Service\AttachmentMover::releaseOldLocks()
S
60 1 16
bunnynet_container()
S
67 2 8
Bunny\Wordpress\Admin\Controller\Overview::convertChartData()
S
68 2 7
Bunny\Wordpress\Config\Offloader::hasStorageZone()
S
78 2 3
Bunny\Wordpress\Admin\Container::redirect()
S
66 2 9
Bunny\Wordpress\Admin\Container::renderFile()
S
70 2 6
Bunny\Wordpress\Container::getApiClient()
S
68 2 8
Bunny\Wordpress\Container::getApiConfig()
S
68 2 8
Bunny\Wordpress\Container::getCdnConfig()
S
70 2 7
Bunny\Wordpress\Container::getFontsConfig()
S
68 2 8
Bunny\Wordpress\Container::getOffloaderConfig()
S
70 2 7
Bunny\Wordpress\Api\Pullzone\Details::getBandwidthAverageCostHumanReadable()
S
68 2 7
bunnycdn_activate_plugin()
S
71 2 6
Bunny\Wordpress\Container::getAttachmentCounter()
S
68 2 8
Bunny\Wordpress\Admin\Container::renderMenu()
S
68 2 7
Bunny\Wordpress\Offloader::toRemotePath()
S
67 2 7
Bunny\Wordpress\Service\AttachmentMover::toRemotePath()
S
67 2 7
Bunny\Wordpress\Utils\Number::bytesToString()
S
68 2 7
Bunny\Wordpress\Api\Client::createPullzoneForCdn()
S
61 1 12
Bunny\Wordpress\Config\Cdn::__construct()
S
63 1 11
Bunny\Wordpress\Api\Client::getPullzoneDetails()
S
60 1 11
Bunny\Wordpress\Config\Offloader::saveSyncOptions()
S
70 1 6
Bunny\Wordpress\Offloader::is_attachment_handled_by_bunny()
S
78 1 3
Bunny\Wordpress\Service\CdnAcceleration::getRequestHost()
S
80 1 3
Bunny\Wordpress\Admin\Container::getCdnConfig()
S
81 1 3
Bunny\Wordpress\Api\Pullzone\Edgerule::getActionParameter1()
S
82 1 3
Bunny\Wordpress\Admin\Container::getFontsConfig()
S
81 1 3
Bunny\Wordpress\Api\Pullzone\EdgeruleTrigger::getType()
S
82 1 3
Bunny\Wordpress\Api\Pullzone\Statistics::getRequestsServed()
S
82 1 3
Bunny\Wordpress\Service\MigrateFromV1::__construct()
S
81 1 3
Bunny\Wordpress\Admin\Controller\Fonts::__construct()
S
81 1 3
Bunny\Wordpress\Service\AttachmentMover::__construct()
S
77 1 4
Bunny\Wordpress\Api\Client::getPullzoneStatistics()
S
65 1 8
Bunny\Wordpress\Utils\Number::floatToMoney()
S
77 1 3
Bunny\Wordpress\Admin\Container::__construct()
S
74 1 5
Bunny\Wordpress\Api\Pullzone\Info::__construct()
S
71 1 6
Bunny\Wordpress\Offloader::__construct()
S
81 1 3
Bunny\Wordpress\Api\Pullzone\Statistics::getRequestsHistory()
S
82 1 3
Bunny\Wordpress\Api\Pullzone\EdgeruleTrigger::__construct()
S
74 1 5
Bunny\Wordpress\REST\Controller::__construct()
S
74 1 5
Bunny\Wordpress\Api\Pullzone\Info::getName()
S
82 1 3
Bunny\Wordpress\Api\Pullzone\Info::getOriginUrl()
S
82 1 3
Bunny\Wordpress\Admin\Container::reloadOffloaderConfig()
S
81 1 3
Bunny\Wordpress\Api\Pullzone\Statistics::getCacheHitRate()
S
82 1 3
Bunny\Wordpress\Api\Pullzone\Edgerule::fromApiResponse()
S
72 1 4
Bunny\Wordpress\Api\Pullzone\Statistics::getBandwidthHistory()
S
82 1 3
Bunny\Wordpress\Api\Client::purgePullzoneCache()
S
79 1 3
Bunny\Wordpress\Utils\Offloader::__construct()
S
74 1 5
Bunny\Wordpress\Api\Pullzone\Statistics::getCacheHistory()
S
82 1 3
Bunny\Wordpress\Api\Pullzone\Statistics::getRequestsTotal()
S
81 1 3
Bunny\Wordpress\Api\Storagezone\Details::__construct()
S
74 1 5
Bunny\Wordpress\Api\Storagezone\Details::getId()
S
82 1 3
Bunny\Wordpress\Api\Storagezone\Details::getName()
S
82 1 3
Bunny\Wordpress\Api\Storagezone\Details::getPassword()
S
82 1 3
Bunny\Wordpress\Admin\Controller\Optimizer::__construct()
S
81 1 3
Bunny\Wordpress\Config\Cdn::getHostname()
S
82 1 3
Bunny\Wordpress\Config\Cdn::getPullzoneId()
S
82 1 3
Bunny\Wordpress\Config\Cdn::getPullzoneName()
S
82 1 3
Bunny\Wordpress\Config\Cdn::getUrl()
S
82 1 3
Bunny\Wordpress\Config\Cdn::getExcluded()
S
82 1 3
Bunny\Wordpress\Config\Cdn::getIncluded()
S
82 1 3
Bunny\Wordpress\Config\Cdn::isDisableAdmin()
S
82 1 3
Bunny\Wordpress\Config\Cdn::isAgencyMode()
S
82 1 3
Bunny\Wordpress\Admin\Controller\Overview::__construct()
S
81 1 3
Bunny\Wordpress\Api\Config::__construct()
S
81 1 3
Bunny\Wordpress\Config\Cdn::saveToWpOptions()
S
66 1 8
Bunny\Wordpress\Config\Cdn::isEnabled()
S
80 1 3
Bunny\Wordpress\Config\Cdn::isAccelerated()
S
80 1 3
Bunny\Wordpress\Config\Fonts::__construct()
S
81 1 3
Bunny\Wordpress\Config\Fonts::isEnabled()
S
82 1 3
Bunny\Wordpress\Config\Fonts::fromWpOptions()
S
74 1 4
Bunny\Wordpress\Config\Fonts::handlePost()
S
78 1 3
Bunny\Wordpress\Config\Fonts::saveToWpOptions()
S
80 1 3
Bunny\Wordpress\Config\Offloader::__construct()
S
65 1 9
Bunny\Wordpress\Config\Offloader::isEnabled()
S
82 1 3
Bunny\Wordpress\Config\Offloader::getSyncTokenHash()
S
82 1 3
Bunny\Wordpress\Config\Optimizer::getSmartImageDesktopQuality()
S
82 1 3
Bunny\Wordpress\Config\Offloader::getStorageZone()
S
82 1 3
Bunny\Wordpress\Admin\Router::__construct()
S
81 1 3
Bunny\Wordpress\Api\Dnszone\Info::getDomain()
S
82 1 3
Bunny\Wordpress\Api\Dnszone\Record::isAccelerated()
S
82 1 3
Bunny\Wordpress\Config\Offloader::isConfigured()
S
82 1 3
Bunny\Wordpress\Admin\Container::getAttachmentCounter()
S
81 1 3
Bunny\Wordpress\Api\Client::getStorageZone()
S
73 1 4
Bunny\Wordpress\Api\Pullzone\Info::getHostnames()
S
82 1 3
Bunny\Wordpress\Api\Dnszone\Info::getRecords()
S
82 1 3
Bunny\Wordpress\Api\Pullzone\EdgeruleTrigger::fromApiResponse()
S
77 1 3
Bunny\Wordpress\Admin\Controller\About::run()
S
78 1 3
Bunny\Wordpress\Service\CdnAcceleration::__construct()
S
65 1 9
Bunny\Wordpress\Api\Pullzone\Edgerule::isEnabled()
S
82 1 3
Bunny\Wordpress\Api\Client::listPullzones()
S
64 1 9
Bunny\Wordpress\Config\Optimizer::isEnabled()
S
82 1 3
Bunny\Wordpress\Api\Pullzone\Statistics::getBandwidthHumanReadable()
S
79 1 3
Bunny\Wordpress\Config\Optimizer::isSmartImageEnabled()
S
82 1 3
Bunny\Wordpress\Admin\Controller\UserData::__construct()
S
81 1 3
Bunny\Wordpress\Admin\Container::renderTemplateFile()
S
71 1 5
Bunny\Wordpress\Container::reloadOffloaderConfig()
S
76 1 4
Bunny\Wordpress\Service\OffloaderSetup::__construct()
S
74 1 5
Bunny\Wordpress\Api\Pullzone\Statistics::getBandwidth()
S
82 1 3
Bunny\Wordpress\Api\Pullzone\Edgerule::getActionParameter2()
S
82 1 3
Bunny\Wordpress\Config\Optimizer::getSmartImageMobileWidthMax()
S
82 1 3
Bunny\Wordpress\Config\Offloader::saveToWpOptions()
S
73 1 5
Bunny\Wordpress\Api\User::getEmail()
S
82 1 3
Bunny\Wordpress\Config\Offloader::isSyncExisting()
S
82 1 3
Bunny\Wordpress\HtmlRewriter::__construct()
S
77 1 4
Bunny\Wordpress\Config\Optimizer::getWatermarkBorder()
S
82 1 3
Bunny\Wordpress\Api\Pullzone\Edgerule::getTriggers()
S
82 1 3
Bunny\Wordpress\Config\Optimizer::isWatermarkEnabled()
S
82 1 3
Bunny\Wordpress\Api\Pullzone\Details::getChargesHumanReadable()
S
80 1 3
Bunny\Wordpress\Api\Pullzone\Edgerule::getDescription()
S
82 1 3
Bunny\Wordpress\Config\Optimizer::isImageApi()
S
82 1 3
Bunny\Wordpress\Api\Dnszone\Record::getType()
S
82 1 3
Bunny\Wordpress\Admin\Controller\Cdn::__construct()
S
81 1 3
Bunny\Wordpress\Admin\Controller\About::__construct()
S
81 1 3
Bunny\Wordpress\Api\Dnszone\Info::getId()
S
82 1 3
Bunny\Wordpress\Api\Pullzone\Edgerule::getActionType()
S
82 1 3
Bunny\Wordpress\Admin\Controller\Reset::__construct()
S
81 1 3
Bunny\Wordpress\Api\Client::getPullzoneById()
S
66 1 7
Bunny\Wordpress\Admin\Controller\Offloader::__construct()
S
81 1 3
Bunny\Wordpress\Container::newMigrateFromV1()
S
75 1 5
Bunny\Wordpress\Api\Pullzone\Details::getConfig()
S
82 1 3
Bunny\Wordpress\Config\Offloader::getStoragePassword()
S
82 1 3
Bunny\Wordpress\Config\Offloader::setStorageZone()
S
73 1 5
Bunny\Wordpress\Admin\Container::getApiClient()
S
81 1 3
Bunny\Wordpress\Api\Pullzone\Details::getEdgerules()
S
82 1 3
Bunny\Wordpress\Config\Optimizer::getWatermarkImageMin()
S
82 1 3
Bunny\Wordpress\Config\Optimizer::getWatermarkUrl()
S
82 1 3
Bunny\Wordpress\Api\Dnszone\Record::getName()
S
82 1 3
Bunny\Wordpress\Api\Client::saveOptimizerConfig()
S
74 1 4
Bunny\Wordpress\Admin\Controller\Wizard::__construct()
S
81 1 3
Bunny\Wordpress\Config\Optimizer::getSmartImageDesktopWidthMax()
S
82 1 3
Bunny\Wordpress\Api\Config::getApiKey()
S
82 1 3
Bunny\Wordpress\Api\User::__construct()
S
77 1 4
Bunny\Wordpress\Api\Billing\Info::getBalanceHumanReadable()
S
79 1 3
Bunny\Wordpress\Api\Pullzone\Statistics::__construct()
S
66 1 8
Bunny\Wordpress\Admin\Container::getOffloaderUtils()
S
81 1 3
Bunny\Wordpress\Api\Pullzone\Edgerule::__construct()
S
67 1 8
Bunny\Wordpress\Container::reloadCdnConfig()
S
76 1 4
Bunny\Wordpress\Config\Optimizer::isWebpCompression()
S
82 1 3
Bunny\Wordpress\Admin\Container::getOffloaderConfig()
S
81 1 3
Bunny\Wordpress\Config\Optimizer::getWatermarkPosition()
S
82 1 3
Bunny\Wordpress\Admin\Container::getWizardUtils()
S
81 1 3
Bunny\Wordpress\Admin\Container::assetUrl()
S
79 1 3
Bunny\Wordpress\Api\Pullzone\EdgeruleTrigger::getPatternMatchingType()
S
82 1 3
Bunny\Wordpress\Admin\Container::renderPartialFile()
S
78 1 3
Bunny\Wordpress\Api\Dnszone\Record::__construct()
S
65 1 9
Bunny\Wordpress\Api\User::getAvatarUrl()
S
78 1 3
Bunny\Wordpress\Api\Dnszone\Record::getId()
S
82 1 3
Bunny\Wordpress\Config\Optimizer::isMinifyJs()
S
82 1 3
Bunny\Wordpress\Api\Pullzone\Details::__construct()
S
65 1 9
Bunny\Wordpress\Api\Pullzone\Details::getBandwidthUsedHumanReadable()
S
79 1 3
Bunny\Wordpress\Config\Offloader::getStorageZoneId()
S
82 1 3
Bunny\Wordpress\Api\Pullzone\EdgeruleTrigger::getPatternMatches()
S
82 1 3
Bunny\Wordpress\Api\Dnszone\Record::getValue()
S
82 1 3
Bunny\Wordpress\Admin\Container::newOffloaderSetup()
S
70 1 7
Bunny\Wordpress\Admin\Controller\Wizard::step3()
S
66 1 8
Bunny\Wordpress\Api\Billing\Info::__construct()
S
81 1 3
Bunny\Wordpress\Api\Pullzone\Statistics::getCacheHitRateHumanReadable()
S
79 1 3
Bunny\Wordpress\Api\Pullzone\Details::getName()
S
82 1 3
Bunny\Wordpress\Config\Optimizer::isMinifyCss()
S
82 1 3
Bunny\Wordpress\Api\Dnszone\Info::__construct()
S
74 1 5
bunnycdn_uninstall_plugin()
S
75 1 4
Bunny\Wordpress\Api\Pullzone\Details::getId()
S
82 1 3
Bunny\Wordpress\Utils\Offloader::generateSyncToken()
S
72 1 5
Bunny\Wordpress\Api\Dnszone\Record::getZone()
S
82 1 3
Bunny\Wordpress\Api\Client::addEdgeRuleToPullzone()
S
74 1 4
Bunny\Wordpress\Api\Pullzone\Info::getId()
S
82 1 3
Bunny\Wordpress\Admin\Container::getVersion()
S
82 1 3
Bunny\Wordpress\Api\Pullzone\Details::getHostnames()
S
82 1 3
Bunny\Wordpress\Admin\Controller\Index::__construct()
S
81 1 3
Bunny\Wordpress\Admin\Container::getController()
S
80 1 3
Bunny\Wordpress\Container::newAttachmentMover()
S
79 1 3
Bunny\Wordpress\Api\User::getName()
S
82 1 3
Bunny\Wordpress\Api\Client::getBilling()
S
70 1 5
Bunny\Wordpress\Api\Dnszone\Record::getAcceleratedPullzoneId()
S
82 1 3
Bunny\Wordpress\Config\Optimizer::getSmartImageMobileQuality()
S
82 1 3