mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-01-28 12:04:13 +00:00
implement to_tls_certificate method
This commit is contained in:
parent
ba9a679303
commit
9f23e9e51d
@ -23,7 +23,7 @@ use crate::Profile;
|
||||
use gtk::{
|
||||
gdk::Texture,
|
||||
gdk_pixbuf::Pixbuf,
|
||||
gio::{Cancellable, SocketClientEvent, TlsCertificate},
|
||||
gio::{Cancellable, SocketClientEvent},
|
||||
glib::{
|
||||
gformat, GString, Priority, Regex, RegexCompileFlags, RegexMatchFlags, Uri, UriFlags,
|
||||
UriHideFlags,
|
||||
@ -431,7 +431,7 @@ impl Page {
|
||||
Some(cancellable.clone()),
|
||||
// Search for user certificate match request
|
||||
match self.profile.identity.gemini.match_scope(&self.navigation.request.widget.entry.text()) {
|
||||
Some(identity) => match TlsCertificate::from_pem(&identity.pem) {
|
||||
Some(identity) => match identity.to_tls_certificate() {
|
||||
Ok(certificate) => Some(certificate),
|
||||
Err(reason) => todo!("{reason}"),
|
||||
},
|
||||
|
@ -1,4 +1,18 @@
|
||||
mod error;
|
||||
use error::Error;
|
||||
|
||||
use gtk::gio::TlsCertificate;
|
||||
|
||||
pub struct Identity {
|
||||
pub pem: String,
|
||||
// pub scope: String,
|
||||
}
|
||||
|
||||
impl Identity {
|
||||
pub fn to_tls_certificate(&self) -> Result<TlsCertificate, Error> {
|
||||
match TlsCertificate::from_pem(&self.pem) {
|
||||
Ok(certificate) => Ok(certificate),
|
||||
Err(reason) => Err(Error::TlsCertificate(reason)),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
15
src/profile/identity/gemini/identity/error.rs
Normal file
15
src/profile/identity/gemini/identity/error.rs
Normal file
@ -0,0 +1,15 @@
|
||||
use gtk::glib;
|
||||
use std::fmt::{Display, Formatter, Result};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum Error {
|
||||
TlsCertificate(glib::Error),
|
||||
}
|
||||
|
||||
impl Display for Error {
|
||||
fn fmt(&self, f: &mut Formatter) -> Result {
|
||||
match self {
|
||||
Self::TlsCertificate(e) => write!(f, "TLS certificate error: {e}"),
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user