mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-08-31 00:42:01 +00:00
remove extra Uri conversion
This commit is contained in:
parent
c7a9a62566
commit
fc87c4ce00
@ -152,6 +152,7 @@ fn handle(
|
|||||||
) {
|
) {
|
||||||
const EVENT_COMPLETED: &str = "Completed";
|
const EVENT_COMPLETED: &str = "Completed";
|
||||||
let uri = request.uri().clone();
|
let uri = request.uri().clone();
|
||||||
|
let url = uri.to_string();
|
||||||
let server_certificate = this
|
let server_certificate = this
|
||||||
.page
|
.page
|
||||||
.profile
|
.profile
|
||||||
@ -161,7 +162,7 @@ fn handle(
|
|||||||
|
|
||||||
this.client
|
this.client
|
||||||
.socket
|
.socket
|
||||||
.set_proxy_resolver(this.page.profile.proxy.matches(&uri).as_ref());
|
.set_proxy_resolver(this.page.profile.proxy.matches(&url).as_ref());
|
||||||
|
|
||||||
this.client.request_async(
|
this.client.request_async(
|
||||||
request,
|
request,
|
||||||
@ -172,7 +173,7 @@ fn handle(
|
|||||||
this.page
|
this.page
|
||||||
.profile
|
.profile
|
||||||
.identity
|
.identity
|
||||||
.get(&uri.to_string()).map(|identity|identity.to_tls_certificate().unwrap()),
|
.get(&url).map(|identity|identity.to_tls_certificate().unwrap()),
|
||||||
server_certificate.map(|c|vec![c]),
|
server_certificate.map(|c|vec![c]),
|
||||||
{
|
{
|
||||||
let page = this.page.clone();
|
let page = this.page.clone();
|
||||||
@ -192,7 +193,7 @@ fn handle(
|
|||||||
use gtk::prelude::SocketConnectionExt;
|
use gtk::prelude::SocketConnectionExt;
|
||||||
let mut i = page.navigation.request.info.borrow_mut();
|
let mut i = page.navigation.request.info.borrow_mut();
|
||||||
i
|
i
|
||||||
.set_request(Some(uri.to_string()))
|
.set_request(Some(url))
|
||||||
.set_socket(Some((
|
.set_socket(Some((
|
||||||
connection.socket_connection.local_address().unwrap(),
|
connection.socket_connection.local_address().unwrap(),
|
||||||
connection.socket_connection.remote_address().unwrap()
|
connection.socket_connection.remote_address().unwrap()
|
||||||
|
@ -43,7 +43,9 @@ impl Nex {
|
|||||||
.set_request(Some(uri.to_string()));
|
.set_request(Some(uri.to_string()));
|
||||||
}
|
}
|
||||||
|
|
||||||
let path = uri.path(); // copy once
|
// copy once
|
||||||
|
let path = uri.path();
|
||||||
|
let url = uri.to_string();
|
||||||
|
|
||||||
if path.is_empty() {
|
if path.is_empty() {
|
||||||
// auto-append trailing slash to the root locations
|
// auto-append trailing slash to the root locations
|
||||||
@ -67,7 +69,7 @@ impl Nex {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let socket = SocketClient::new();
|
let socket = SocketClient::new();
|
||||||
socket.set_proxy_resolver(self.page.profile.proxy.matches(&uri).as_ref());
|
socket.set_proxy_resolver(self.page.profile.proxy.matches(&url).as_ref());
|
||||||
socket.set_protocol(SocketProtocol::Tcp);
|
socket.set_protocol(SocketProtocol::Tcp);
|
||||||
socket.set_timeout(30); // @TODO optional
|
socket.set_timeout(30); // @TODO optional
|
||||||
|
|
||||||
@ -118,7 +120,7 @@ impl Nex {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
socket.connect_to_uri_async(&uri.to_string(), 1900, Some(&cancellable.clone()), {
|
socket.connect_to_uri_async(&url, 1900, Some(&cancellable.clone()), {
|
||||||
let p = self.page.clone();
|
let p = self.page.clone();
|
||||||
move |result| match result {
|
move |result| match result {
|
||||||
Ok(c) => {
|
Ok(c) => {
|
||||||
|
@ -138,7 +138,7 @@ impl Request {
|
|||||||
// Indicate proxy connections
|
// Indicate proxy connections
|
||||||
{
|
{
|
||||||
const C: &str = "accent";
|
const C: &str = "accent";
|
||||||
if uri(e).is_some_and(|u| p.proxy.matches(&u).is_some()) {
|
if p.proxy.matches(&e.text()).is_some() {
|
||||||
e.set_css_classes(&[C])
|
e.set_css_classes(&[C])
|
||||||
} else {
|
} else {
|
||||||
e.remove_css_class(C)
|
e.remove_css_class(C)
|
||||||
|
@ -4,10 +4,7 @@ mod rule;
|
|||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use database::Database;
|
use database::Database;
|
||||||
use gtk::{
|
use gtk::gio::{ProxyResolver, SimpleProxyResolver};
|
||||||
gio::{ProxyResolver, SimpleProxyResolver},
|
|
||||||
glib::Uri,
|
|
||||||
};
|
|
||||||
use ignore::Ignore;
|
use ignore::Ignore;
|
||||||
use r2d2::Pool;
|
use r2d2::Pool;
|
||||||
use r2d2_sqlite::SqliteConnectionManager;
|
use r2d2_sqlite::SqliteConnectionManager;
|
||||||
@ -59,11 +56,11 @@ impl Proxy {
|
|||||||
|
|
||||||
// Actions
|
// Actions
|
||||||
|
|
||||||
pub fn matches(&self, request: &Uri) -> Option<ProxyResolver> {
|
pub fn matches(&self, request: &str) -> Option<ProxyResolver> {
|
||||||
for rule in self.rule.borrow().iter().filter(|r| r.is_enabled) {
|
for rule in self.rule.borrow().iter().filter(|r| r.is_enabled) {
|
||||||
if gtk::glib::Regex::match_simple(
|
if gtk::glib::Regex::match_simple(
|
||||||
&rule.request,
|
&rule.request,
|
||||||
request.to_str(),
|
request,
|
||||||
gtk::glib::RegexCompileFlags::DEFAULT,
|
gtk::glib::RegexCompileFlags::DEFAULT,
|
||||||
gtk::glib::RegexMatchFlags::DEFAULT,
|
gtk::glib::RegexMatchFlags::DEFAULT,
|
||||||
) {
|
) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user