Wires out the Cloudflare Workers AI image provider across the plugin: - class-image-pipeline.php: drop 'cloudflare' dispatch branch; Runware becomes the unrecognised-provider fallback - class-image-model-registry.php: remove flux-1-schnell/cloudflare row; update provider-enum docblocks (runware|openrouter only) - class-settings-fields-extended.php: remove three CF fields (cloudflare_ai_token, cloudflare_account_id, cf_image_via_gateway); drop Cloudflare mention from model-picker + NSFW retry descriptions - class-admin-page.php: remove prautoblogger_cloudflare_ai_token from the encrypted-options list - interface-image-provider.php: retarget preamble @see at Runware + OpenRouter; update get_provider_name() example - class-image-nsfw-blocked.php: generalise preamble (Runware + OpenRouter can raise this) Also cleans stale CF Workers AI mentions in: class-ajax-handlers.php, interface-model-registry.php, class-image-nsfw-retry.php, class-open-router-image-pricing.php, prautoblogger.php. The Cloudflare AI Gateway path (in class-open-router-config.php, class-settings-fields.php 'prautoblogger_ai_gateway_base_url', class-open-router-request-builder.php cache headers) is intentionally untouched — it fronts OpenRouter and is unrelated to the CF Workers AI image provider.
46 lines
1.5 KiB
PHP
46 lines
1.5 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* Exception raised when an image provider rejects a prompt as NSFW.
|
|
*
|
|
* Image providers (Runware, OpenRouter) return provider-specific error
|
|
* shapes when their content filters block a prompt. We catch those shapes
|
|
* in each provider and raise this typed exception so the image pipeline
|
|
* can distinguish a content-filter rejection from a generic 4xx and
|
|
* retry once with a sanitized fallback prompt.
|
|
*
|
|
* Triggered by: image providers on NSFW-filter rejection.
|
|
* Dependencies: None.
|
|
*
|
|
* @see providers/class-runware-image-provider.php — May raise this.
|
|
* @see providers/class-open-router-image-provider.php — May raise this.
|
|
* @see core/class-image-nsfw-retry.php — Catches + rebuilds prompt.
|
|
*/
|
|
class PRAutoBlogger_Image_NSFW_Blocked extends \RuntimeException {
|
|
|
|
/**
|
|
* The raw upstream response body, kept verbatim for log forensics.
|
|
*
|
|
* @var string
|
|
*/
|
|
private string $upstream_body;
|
|
|
|
/**
|
|
* @param string $message Human-readable summary.
|
|
* @param string $upstream_body Raw response body from the provider.
|
|
* @param \Throwable|null $previous Optional previous exception.
|
|
*/
|
|
public function __construct( string $message, string $upstream_body = '', ?\Throwable $previous = null ) {
|
|
parent::__construct( $message, 0, $previous );
|
|
$this->upstream_body = $upstream_body;
|
|
}
|
|
|
|
/**
|
|
* @return string Raw upstream body (may be empty).
|
|
*/
|
|
public function get_upstream_body(): string {
|
|
return $this->upstream_body;
|
|
}
|
|
}
|