mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Prompt user for credentials when http request needs it (#34620)
* prompt user to get their credentials Signed-off-by: Lloyd Massiah artmis9@protonmail.com move credential prompt to a function Signed-off-by: Lloyd Massiah <artmis9@protonmail.com> * add prompt for step 15.4 Signed-off-by: Lloyd Massiah <artmis9@protonmail.com> * add new prompt definition for user credentials Signed-off-by: Lloyd Massiah <artmis9@protonmail.com> * remove default implementation for HttpState which allowed making the embedder_proxy non-optional - default implementation was only used in tests so created an alternative create_http_state function Signed-off-by: Lloyd Massiah <artmis9@protonmail.com> add credentials to authentication cache Signed-off-by: Lloyd Massiah <artmis9@protonmail.com> * add tests that are successful for the happy path Signed-off-by: Lloyd Massiah <artmis9@protonmail.com> * add test for user cancels prompt and user inputs incorrect credentials, and refactor shared code between tests Signed-off-by: Lloyd Massiah <artmis9@protonmail.com> * handle error when setting username and password in Url and ran formatting Signed-off-by: Lloyd Massiah <artmis9@protonmail.com> renaming test functions Signed-off-by: Lloyd Massiah <artmis9@protonmail.com> * change authentication flag to false for proxy authentication. The spec doesn't specify that the flag should be true, and the flag is by default false Signed-off-by: Lloyd Massiah <artmis9@protonmail.com> * clean up test code a bit Signed-off-by: Lloyd Massiah <artmis9@protonmail.com> * add skeleton implementation to support open harmony and android Signed-off-by: Lloyd Massiah <artmis9@protonmail.com> * update warning message to include Android Signed-off-by: Lloyd Massiah <artmis9@protonmail.com> * fix build error for OH os and Android Signed-off-by: Lloyd Massiah <artmis9@protonmail.com> * remove unused import to fix warning Signed-off-by: Lloyd Massiah <artmis9@protonmail.com> --------- Signed-off-by: Lloyd Massiah <artmis9@protonmail.com> Co-authored-by: lazypassion <25536767+lazypassion@users.noreply.github.com>
This commit is contained in:
parent
a9539d8b03
commit
aa40b8f820
8 changed files with 379 additions and 51 deletions
|
@ -132,7 +132,7 @@ pub fn new_core_resource_thread(
|
|||
user_agent,
|
||||
devtools_sender,
|
||||
time_profiler_chan,
|
||||
embedder_proxy,
|
||||
embedder_proxy.clone(),
|
||||
ca_certificates.clone(),
|
||||
ignore_certificate_errors,
|
||||
);
|
||||
|
@ -151,6 +151,7 @@ pub fn new_core_resource_thread(
|
|||
private_setup_port,
|
||||
report_port,
|
||||
protocols,
|
||||
embedder_proxy,
|
||||
)
|
||||
},
|
||||
String::from("network-cache-reporter"),
|
||||
|
@ -173,6 +174,7 @@ fn create_http_states(
|
|||
config_dir: Option<&Path>,
|
||||
ca_certificates: CACertificates,
|
||||
ignore_certificate_errors: bool,
|
||||
embedder_proxy: EmbedderProxy,
|
||||
) -> (Arc<HttpState>, Arc<HttpState>) {
|
||||
let mut hsts_list = HstsList::from_servo_preload();
|
||||
let mut auth_cache = AuthCache::default();
|
||||
|
@ -198,6 +200,7 @@ fn create_http_states(
|
|||
override_manager.clone(),
|
||||
)),
|
||||
override_manager,
|
||||
embedder_proxy: Mutex::new(embedder_proxy.clone()),
|
||||
};
|
||||
|
||||
let override_manager = CertificateErrorOverrideManager::new();
|
||||
|
@ -214,6 +217,7 @@ fn create_http_states(
|
|||
override_manager.clone(),
|
||||
)),
|
||||
override_manager,
|
||||
embedder_proxy: Mutex::new(embedder_proxy),
|
||||
};
|
||||
|
||||
(Arc::new(http_state), Arc::new(private_http_state))
|
||||
|
@ -227,11 +231,13 @@ impl ResourceChannelManager {
|
|||
private_receiver: IpcReceiver<CoreResourceMsg>,
|
||||
memory_reporter: IpcReceiver<ReportsChan>,
|
||||
protocols: Arc<ProtocolRegistry>,
|
||||
embedder_proxy: EmbedderProxy,
|
||||
) {
|
||||
let (public_http_state, private_http_state) = create_http_states(
|
||||
self.config_dir.as_deref(),
|
||||
self.ca_certificates.clone(),
|
||||
self.ignore_certificate_errors,
|
||||
embedder_proxy,
|
||||
);
|
||||
|
||||
let mut rx_set = IpcReceiverSet::new().unwrap();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue