mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2025-06-26 18:26:36 +02:00
from upstream MR https://gitlab.com/famedly/conduit/-/merge_requests/347 with the following changes (so far): - remove hardcoded list of allowed hosts (strongly disagree with this, even if it is desired, it should not be harcoded) - add more allow config options for granularity via URL contains, host contains, and domain is (explicit match) for security - warn if a user is allowing all URLs to be previewed for security reasons - replace an expect with proper error handling - bump webpage to 2.0 - improved code style a tad Co-authored-by: rooot <hey@rooot.gay> Signed-off-by: rooot <hey@rooot.gay> Signed-off-by: strawberry <strawberry@puppygock.gay>
31 lines
796 B
Rust
31 lines
796 B
Rust
use crate::Result;
|
|
|
|
pub trait Data: Send + Sync {
|
|
fn create_file_metadata(
|
|
&self,
|
|
mxc: String,
|
|
width: u32,
|
|
height: u32,
|
|
content_disposition: Option<&str>,
|
|
content_type: Option<&str>,
|
|
) -> Result<Vec<u8>>;
|
|
|
|
/// Returns content_disposition, content_type and the metadata key.
|
|
fn search_file_metadata(
|
|
&self,
|
|
mxc: String,
|
|
width: u32,
|
|
height: u32,
|
|
) -> Result<(Option<String>, Option<String>, Vec<u8>)>;
|
|
|
|
fn remove_url_preview(&self, url: &str) -> Result<()>;
|
|
|
|
fn set_url_preview(
|
|
&self,
|
|
url: &str,
|
|
data: &super::UrlPreviewData,
|
|
timestamp: std::time::Duration,
|
|
) -> Result<()>;
|
|
|
|
fn get_url_preview(&self, url: &str) -> Option<super::UrlPreviewData>;
|
|
}
|