Struct http_types::security::ContentSecurityPolicy [−][src]
pub struct ContentSecurityPolicy { /* fields omitted */ }Build a Content-Security-Policy header.
Content-Security-Policy (CSP) HTTP headers are used to prevent cross-site
injections. Read more
Examples
use http_types::{headers, security, Response, StatusCode}; let mut policy = security::ContentSecurityPolicy::new(); policy .default_src(security::Source::SameOrigin) .default_src("areweasyncyet.rs") .script_src(security::Source::SameOrigin) .script_src(security::Source::UnsafeInline) .object_src(security::Source::None) .base_uri(security::Source::None) .upgrade_insecure_requests(); let mut res = Response::new(StatusCode::Ok); res.set_body("Hello, Chashu!"); security::default(&mut res); policy.apply(&mut res); assert_eq!(res["content-security-policy"], "base-uri 'none'; default-src 'self' areweasyncyet.rs; object-src 'none'; script-src 'self' 'unsafe-inline'; upgrade-insecure-requests");
Implementations
impl ContentSecurityPolicy[src]
impl ContentSecurityPolicy[src]pub fn new() -> Self[src]
Create a new instance.
pub fn base_uri<T: AsRef<str>>(&mut self, source: T) -> &mut Self[src]
Defines the Content-Security-Policy base-uri directive
pub fn block_all_mixed_content(&mut self) -> &mut Self[src]
Defines the Content-Security-Policy block-all-mixed-content directive
pub fn connect_src<T: AsRef<str>>(&mut self, source: T) -> &mut Self[src]
Defines the Content-Security-Policy connect-src directive
pub fn default_src<T: AsRef<str>>(&mut self, source: T) -> &mut Self[src]
Defines the Content-Security-Policy default-src directive
pub fn font_src<T: AsRef<str>>(&mut self, source: T) -> &mut Self[src]
Defines the Content-Security-Policy font-src directive
pub fn form_action<T: AsRef<str>>(&mut self, source: T) -> &mut Self[src]
Defines the Content-Security-Policy form-action directive
pub fn frame_ancestors<T: AsRef<str>>(&mut self, source: T) -> &mut Self[src]
Defines the Content-Security-Policy frame-ancestors directive
pub fn frame_src<T: AsRef<str>>(&mut self, source: T) -> &mut Self[src]
Defines the Content-Security-Policy frame-src directive
pub fn img_src<T: AsRef<str>>(&mut self, source: T) -> &mut Self[src]
Defines the Content-Security-Policy img-src directive
pub fn media_src<T: AsRef<str>>(&mut self, source: T) -> &mut Self[src]
Defines the Content-Security-Policy media-src directive
pub fn object_src<T: AsRef<str>>(&mut self, source: T) -> &mut Self[src]
Defines the Content-Security-Policy object-src directive
pub fn plugin_types<T: AsRef<str>>(&mut self, source: T) -> &mut Self[src]
Defines the Content-Security-Policy plugin-types directive
pub fn require_sri_for<T: AsRef<str>>(&mut self, source: T) -> &mut Self[src]
Defines the Content-Security-Policy require-sri-for directive
pub fn report_uri<T: AsRef<str>>(&mut self, uri: T) -> &mut Self[src]
Defines the Content-Security-Policy report-uri directive
pub fn report_to(&mut self, endpoints: Vec<ReportTo>) -> &mut Self[src]
Defines the Content-Security-Policy report-to directive
pub fn sandbox<T: AsRef<str>>(&mut self, source: T) -> &mut Self[src]
Defines the Content-Security-Policy sandbox directive
pub fn script_src<T: AsRef<str>>(&mut self, source: T) -> &mut Self[src]
Defines the Content-Security-Policy script-src directive
pub fn style_src<T: AsRef<str>>(&mut self, source: T) -> &mut Self[src]
Defines the Content-Security-Policy style-src directive
pub fn upgrade_insecure_requests(&mut self) -> &mut Self[src]
Defines the Content-Security-Policy upgrade-insecure-requests directive
pub fn worker_src<T: AsRef<str>>(&mut self, source: T) -> &mut Self[src]
Defines the Content-Security-Policy worker-src directive
pub fn report_only(&mut self) -> &mut Self[src]
Change the header to Content-Security-Policy-Report-Only
pub fn apply(&mut self, headers: impl AsMut<Headers>)[src]
Sets the Content-Security-Policy (CSP) HTTP header to prevent cross-site injections
Trait Implementations
impl Clone for ContentSecurityPolicy[src]
impl Clone for ContentSecurityPolicy[src]fn clone(&self) -> ContentSecurityPolicy[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Default for ContentSecurityPolicy[src]
impl Default for ContentSecurityPolicy[src]impl Eq for ContentSecurityPolicy[src]
impl Eq for ContentSecurityPolicy[src]impl PartialEq<ContentSecurityPolicy> for ContentSecurityPolicy[src]
impl PartialEq<ContentSecurityPolicy> for ContentSecurityPolicy[src]fn eq(&self, other: &ContentSecurityPolicy) -> bool[src]
fn ne(&self, other: &ContentSecurityPolicy) -> bool[src]
impl StructuralEq for ContentSecurityPolicy[src]
impl StructuralEq for ContentSecurityPolicy[src]Auto Trait Implementations
impl RefUnwindSafe for ContentSecurityPolicy
impl RefUnwindSafe for ContentSecurityPolicyimpl Send for ContentSecurityPolicy
impl Send for ContentSecurityPolicyimpl Sync for ContentSecurityPolicy
impl Sync for ContentSecurityPolicyimpl Unpin for ContentSecurityPolicy
impl Unpin for ContentSecurityPolicyimpl UnwindSafe for ContentSecurityPolicy
impl UnwindSafe for ContentSecurityPolicy