@@ -606,12 +606,14 @@ bool oauth2_jose_hash2s(oauth2_log_t *log, const char *digest, const char *src,
606606
607607_OAUTH2_CFG_CTX_INIT_START (oauth2_uri_ctx )
608608ctx -> endpoint = NULL ;
609+ ctx -> outgoing_proxy = NULL ;
609610ctx -> cache = NULL ;
610611ctx -> expiry_s = OAUTH2_CFG_UINT_UNSET ;
611612_OAUTH2_CFG_CTX_INIT_END
612613
613614_OAUTH2_CFG_CTX_CLONE_START (oauth2_uri_ctx )
614615dst -> endpoint = oauth2_cfg_endpoint_clone (log , src -> endpoint );
616+ dst -> outgoing_proxy = oauth2_strdup (src -> outgoing_proxy );
615617dst -> cache = src -> cache ;
616618dst -> expiry_s = src -> expiry_s ;
617619_OAUTH2_CFG_CTX_CLONE_END
@@ -1739,6 +1741,11 @@ char *oauth2_jose_options_uri_ctx(oauth2_log_t *log, const char *value,
17391741 ctx -> endpoint = oauth2_cfg_endpoint_init (log );
17401742 rv = oauth2_cfg_set_endpoint (log , ctx -> endpoint , value , params , prefix );
17411743
1744+ key = oauth2_stradd (NULL , prefix , "." , "outgoing_proxy" );
1745+ ctx -> outgoing_proxy =
1746+ oauth2_strdup (oauth2_nv_list_get (log , params , key ));
1747+ oauth2_mem_free (key );
1748+
17421749 key = oauth2_stradd (NULL , prefix , "." , "cache" );
17431750 ctx -> cache =
17441751 oauth2_cache_obtain (log , oauth2_nv_list_get (log , params , key ));
@@ -2022,6 +2029,8 @@ char *oauth2_jose_resolve_from_uri(oauth2_log_t *log, oauth2_uri_ctx_t *uri_ctx,
20222029 oauth2_http_call_ctx_ssl_verify_set (
20232030 log , ctx ,
20242031 oauth2_cfg_endpoint_get_ssl_verify (uri_ctx -> endpoint ));
2032+ oauth2_http_call_ctx_outgoing_proxy_set (
2033+ log , ctx , uri_ctx -> outgoing_proxy );
20252034
20262035 rc = oauth2_http_get (
20272036 log , oauth2_cfg_endpoint_get_url (uri_ctx -> endpoint ), NULL ,
0 commit comments