From 07c464a75fd873f23ca78016e7754697f4511f59 Mon Sep 17 00:00:00 2001 From: arithmetic1728 <58957152+arithmetic1728@users.noreply.github.com> Date: Thu, 28 Sep 2023 10:32:04 -0700 Subject: [PATCH] fix: support urllib3<2.0 versions (#1390) * fix: support urllib3<2.0 versions * update --- google/auth/transport/urllib3.py | 9 ++++++++- setup.py | 1 - system_tests/secrets.tar.enc | Bin 10324 -> 10324 bytes testing/constraints-3.10.txt | 1 + testing/constraints-3.11.txt | 1 + 5 files changed, 10 insertions(+), 2 deletions(-) diff --git a/google/auth/transport/urllib3.py b/google/auth/transport/urllib3.py index bc4de4d14..63144f5ff 100644 --- a/google/auth/transport/urllib3.py +++ b/google/auth/transport/urllib3.py @@ -40,11 +40,18 @@ "urllib3 package to use the urllib3 transport." ) from caught_exc +from packaging import version # type: ignore + from google.auth import environment_vars from google.auth import exceptions from google.auth import transport from google.oauth2 import service_account +if version.parse(urllib3.__version__) >= version.parse("2.0.0"): # pragma: NO COVER + RequestMethods = urllib3._request_methods.RequestMethods # type: ignore +else: # pragma: NO COVER + RequestMethods = urllib3.request.RequestMethods # type: ignore + _LOGGER = logging.getLogger(__name__) @@ -179,7 +186,7 @@ def _make_mutual_tls_http(cert, key): return http -class AuthorizedHttp(urllib3._request_methods.RequestMethods): # type: ignore +class AuthorizedHttp(RequestMethods): # type: ignore """A urllib3 HTTP class with credentials. This class is used to perform requests to API endpoints that require diff --git a/setup.py b/setup.py index 4ec9b19c6..047818ca0 100644 --- a/setup.py +++ b/setup.py @@ -25,7 +25,6 @@ # rsa==4.5 is the last version to support 2.7 # https://github.com/sybrenstuvel/python-rsa/issues/152#issuecomment-643470233 "rsa>=3.1.4,<5", - "urllib3>=2.0.5", ) extras = { diff --git a/system_tests/secrets.tar.enc b/system_tests/secrets.tar.enc index a537437340f2e4bf90d15645bcd7d60fe718e91f..cae671c34fccbd1f7b67ad25e1883fb4b733ca0f 100644 GIT binary patch literal 10324 zcmV-aD67{BB>?tKRTC^)^r71YjgZ&V2K{a#dZebYOTR7BFK7Wuy75;f*OL;ePyp}n zz;CgF*mH2m{fji*yYKb&iC>)g{k8h}3$L9i#i~}i3YlLPlO0deQTQx;N2M4)0#!{) z9H1-eqVE-75jjBpJ{OqLJiRY82j}AJVoOpsLge&kNVffw(I;u{8RR@t-W(DGr=~zR zYy_$~pYZYERZ5i%H?LZIyT`E$Xc z`s6^$hM_M` z>ukNdEgp3W8J%rMYVT=`2Sv2o_lBfIKx$zM_e0o)pE;6qnctRQj`8mC20ii-06+Jl z>hEj$+~J+(W1RhBXAu3@C1v{Q>$2FPvjT-MHxy^QiFa--ORR@;dK#{wf+`&>jR1Wp zf~c@)oLGtn#NCV;o0le>xAT>`k79oFYu;FzR*$UB(d*fEkvPR*0fkjzXMS4N&u)nD z%x26&~&v{hJKLc!UWXb)^|tI5Q#!cZ?`c_|2hQp2&LKVZsqlnH_=#Z zzj*X!M3($?3-|EvY}5EFoya~Iz+5eVr;u#j^Ey!`Jf))FAo^ZkzNqOQM*QW^UN0o# z)4NOu;!r*Qp%~EzLlwcTv;AuSi$|nQVL-C4sbQ(hS{5@R?sr zZM}12y8#$gB|1JpE$cVD-v?*t{f)rusVL4`M1}+5JfH0w@&l-{UJP6!`Z6vttwwg@EkHI}03>>s$7p#SB~Tg}9oR8ue)Z@qKyyCrg5XpvhrH~h)xDjx z&fUIa;#@MV?<#uK@MR21sBOB18hIU~j2* z-*mGZdgN7&lSXP|b9-U*T z2emv6AEma_{p3@lsF>%lFdSJKY@577(lBL~XWy^GW{%lN(Ci#~`&V5ww)ivD z)V==_+~^@0=DI$69?sz=TTuHQ5{u12d3U<>LTfb?m_(*FAYPSHxEj_Hu1LToubHP- z=IM>ut$95a$v!J*QKxUwAN9tY%H%pm?gEeV<}a%w`E1;@P=alkDHGW8$o}JJBB{@{ z1Wg1=X5I<|iI|eU z>I@t(ZdDGlLYrMphu%5w41+KY2r54^ZG%K@L9;P9s_jw`& z4wOEy2rc>iG)<+Q!EO76a+I}zLeSrwag^lqXQmu?zI8%sDCca(*+9akY46lmp|_T6 z;4!c&VIFw6d!x5r7YahR$3Lao>c0dNi7BGz1I^k5u&wk{mK=33>Vnu}2nD(47fiU(%et}5e+r&Tz9 zi9pS}fh&4LU!YbTsi7EM%~OsaOTqoF#|r(cQaMCL{MeU*F~dJGV9VO(yw{(UJe1w= zZ9v(jSZ-p_QNVMge%iAohxszdnc1nv3~LeZX_Not2O!fAn2!(g+rhHk1t=ye@i=`l zg%x|@vJ${fOg4OQ`i@JrO%UX{=JF$NRJ2H~7)2r~Hr?tf%_WjV6# zyTRiCFO-T>j4?%fp>;t+)vIXX*532j9tLJLztJz6*-}NeGbS52HLhGwKqFjQALQl! zA6tg1*#}_d4@6v7Iw92@Cw(-cMTduxx8Bj0vUzOmZ|Y%5uWOjO9Tsd0$^rOPoF)Q! zE8TGtlwaB8Wtbt2+T)MuLaGy@V?^=T2Md}o6ludQB{)zI@8f7^<%9yVf`+sJ^rk{8 z2}_g(^kc#Na-^dBmfHO9^yI7jIA>}u1Y^;YzUY(VST<6xAsZi0C{_T0>GkahoCwD( zyVgF?yUT|(h=f7I>~fpieQR_RtXgO*<1I;xw2D@Pajlt`RQ?a@TPXncN>hHmic##OX3m zt^jfCFRHgcwTwb)2|qV>2l)54IHuO?vX>2Nv^Mg2>?yN+gvq~EuA?Ibwt~`b9RfT< z>tSUU=l~i>s;cT6_4hbP$T*Zw{EWC}W~j{mH44d(14YilHw-Tw84lGtnXgr!&(Qe>Y;sbxwzDh(5scw74n>q_6Qa@gojnIvtYDw|Dy z;ygkmSo^Ri0(D0x_PA9hSsix#EZ>kOE?`7_3t#>x%PVsVs-eBu^D@0VhsVziMFyKg zO&xZI+e2WE{a5dcK(1Gr0`H#Ximv_p`d0#H`_a9pki+|FM(io-OtrrcJ z=#C1vN0i0y@d})1gA^r#Y*YDxIT5dVfBI|k(MIOj)Y>vA2(cJcx+0|X@-^kzdh|)O z^jvQiNk}ma{pS$!@bbb-em9<6>C=MBKTJRY`03*7os!Gwt5&FH^|!*xnVdr$?8-Yy zril9UWR|6tNAhwjM-91uBh87o@wxM#%D>*ciO`It1SK%sY3Jps+Ru`rF zWwF?RbMwJfITfsCciU)e^>`pf|D@|h#o}8PwUhcrN*?0$KRv-$Sa4>9oxz45fK%)_ z&o58q7se@UvjkHPJ-Wm5n9~#>>B{q^>fi~YO(FHqU{mA0A~X6`nA4TTpbEd;0AN*UeCvYamQ0MwREaWJM)ozuFF7aDz;~_FZG(hTj#;!c_`k5>> z&)CptMSG6uxh7^vS_?rKFtonImHE>}4(GcbzM6_?J+{`gD^x4h)7(K|zOS)X^3^-3 z{UyU9pXaWVMcj)$Xalgt50(Ff|0-IV0^!P{XDOdSR*3ytt4hhFR01{+%}7D8lmX$J z>4hZmWg#6nd3sa^@-BUk2&Ze>)eY#y>fFumIc9?dNr^goe?l4UJ+NIcZcw1?I|G<1 zG{kaKgT=PhsQ);*G6yTYdm$!V6<6g#xXPE|o}@2N!YBcg@tJNkz{XsH^pmCcfT5A| zFleBDS7BXW7Ob=>z$pCi{!zc(nCrfuET3KID*j()g9yIN_qz@t(b!93%DHgvM4qY6 zMk?^n{)pKcgr52WQ9&j~9ym+!3iY_BmdQ9EIw!jmYoezu6eXjZWvfo2O?x8tkRvjC z-D4C13)ktYQk0u$-APsKjLHb3I$ZH;r6uKK{I#%d1m$9u?;Z!YOkK0zkZ1pp=fBU} zIC2sq6WPf58}mHwVg#g@C(b~99OVa%25S-XN4GsJykWq~fvo@j9_>a|HHx?RX6&0|)MxDz?Q$It(-c223IWRUVi|sy73l_+9%N zPcCY9tmq@EG}5Z~FEhx&DCJpx3n!9Tw-h7<|vWX$0}SyF2S zichX)g}`8DTJfL6<+STc zyHXn{c^!(v?4De~R;UAX>I;FZ1;*Rd!c!mXyMc(Ce>(h9r!Z~y2?=?IwKqF!Y$IhF zlZHu|@I7(eI{f!WpMa?b_?Jql+QFPVmhOgBSRxay6EZhYDE-nD)l%|!nzE#=-e}mi z4lBzAD2ew4Xm(%gdB~Qy=W_D4h<)jA_HK)S`vkF}gMFKb3V0ZX#GR~x-;0+jKMm;J zXjAEoi<;Q6AdK{98HiIbMXLXu;FmFtFxbB}BdYH>O46iBa>V0u`yw^5BV&bmxIjG3 z7Yczx>e)(baOkqBKo_O{-2;WCE*^w?yvu&dU*LCvVnxkG&XZwnGsb^adQzp4) zlC07tpCyBeLGr2FjAy~xq6)5l(S{diiaGeDCiIg&t&_T)fjpR6q;C*z*_<1RD(Leg0#iF}4l{9D$i4ws` zG+F0J6XQ~AdpUjiqfe(e(#`I2&v1g`4C$j_=Y@JJOH`Xv)vu%9zwqL`=)D!-wL~Lt z5SP3S9%D*gtbwDt_#@&CXaIe8qfI*jC?v=o5Io+`PbC7i7yeu<^r-MEWYLt%)iyxV zEWJ36)m3Y;C>2o`Eip^~3(i|iwj^K^h8^3_9-_keui&@BK#~oxcj2akLaco@wOlYy z4r`VQ2}E}uQH=s6%R@OTUwwoh7z>Bcb`ZcWgxsXk4Nf$QygF+)O)|9RdlSBbny+DKzayx01qra^ zEA|;v2G|S|Rn$d2!ceVCDSss%=O*YyrPlfiCmh^&iGK$}0~boeoi!ly?fvaIOg1;R4~r!DQV^>yJn=a5**QtfuneG<3fzHFK#_t{OD)tfK2;zJ*;{ z*%R56G(AT$CP{BAAUM3hqPuppj*a4N+4Wf#EH9mxG-OUk?E*kmA$!mVukNDSQ2-uJ>zYnO_eMP zaT5dAjH6?(5NmkIM0*1dsk8mt?0`n>`|6RcrCD%}O#(Y~DbHNKdYAqr7^Z&KJ?jP1 ztb)K->G*~2udfAeMWAB-7>#UsfN-j$aD1dM@ ze&8;OAD>%#C-pfCWdm{Z;l;|&9NCsybrvA2G1&gg&}Zd4oMU#GY>$># z6RPujm7k=HuihYztqFA5fqYMYjZEE9@~Ti6s4U7#WrhXrYm#n>wPrmu4jQs|=oI5i z9<8-jZP%*H_(cwgvsUan`B464e|Ukmu8yx9$k42_waGeH`@D$m0?*YT36ERP>IMT) zbfOD$edv2{MLqJajPL()EY*&4TnzgCcFs~3U2dU~=Xn(Zh#z?#y!hprWYY3cL&HIE z$~u`~SaDtxQeHn1@koU-+)i8>{)RU2&Gj!b_8Ddr6m%G}H^LQPeH7wx{2?TwQat;Q z5+xixYHjM~ej2|OnLMjt2I;lO)k`+d$RndeuSMR}kdsV(&qWYh7i`aK9UUbN2@d30JxF`yZg!WO# ze>7K3ZVSoK!50iYsDqbVIr6w`AU%xI|Ix6hkNVE94=jAJt}|kPRm8Tw`?d|)YcTAi z*CB>Ei51ENO-!d>L@;x?Pkg1D%;6Hh=w0_{cxw<(Lwmbr-OoWK)RAV4y^J^!<5(ts z^N+j&_3@p%EZR0f_!ixVZ#?z&i^CSnKi|ofBSM+1!WXoa4YS`AH0Qh2V6U5Rtj(y_ zUB@;N0!UT~zGF?8Ur+PLC-8PDwmX6&V}qRwmnx%~Q6nFe;%(8q=JIB=V~goY8hqp+ z=EO~Q=lxHsP|6EDMAf#_X3*4%n)%|yb>l*!%Xou&9X2N)EcZ#-vM4L1(^n@n zVm1ye3%vnTqdNUBEPo4S4ik1YI$31Lh@lrBD%lYgyo(OqF27zA3R5P^?6#j;^~vQY zwKterNuJpa{4aNZ3lOxX3X(8NWm4kc=Z%SxUNiVgJd(W2a?AQi^@JdjTzhkq;LkORO>BYC_)~I z@1@&GJA23GL5Wb=p$DYnGYulkICb14AOSqav)~V~aq#s~TQgWV!G4W0WFkj{ zS7*OpIlx=yTUBtHp%JBVkl1MPkYv4GfP{tC*-)Pi>9-xvvu72P&{Wq^jfQvRiiFJ% z$xB=L`~A;{dw_pM_m+QgL5rYTK*up2@nFbNfO~UCh_q<2{;yaSX$GPrQTU2#40R+! z#tivqiOFRowQjv^M5+H*%`dW9;Q#6cT9Y4;iX)l)fou;q$4l~Biw`H%nEhzQ+o<-G zG>BnjHc~B&0V{LBfw!FYN2%#p>lVb>|!No zyJ+!xY+nsb4LNH^VzleZ(S#KorSgs5?2E{0lT?(tt&5^a3we1_}* z48d7z(T2!WZEHVr1$Qt7#a-b}zBTc9FDIixu#@WuZmUsDLDilk3aHw_xWe<_BFl^R z3NOvbj%L8p=x=+6;sVt-$48rtJ`JrEKAr$=puT2}u zloL9cI*uAPlKLJZz^U76sNCjp%LkQ7m&6H+MW^mq42qmn`&h~L$lXC>2Z!MUr8O4h)OMkNtiI40-<|rcva97?dm1T!~Yz@)s zPDjWR#`BTt(txwio=Jf@MaYwl;i@kcLT*ZOO~90vw&Vp1@Oq9Wbk z8zE^%<#OGxrNb<_cJvfbYz*fDFKOpx{Q@+M7sucVxYM;$B`@|N+rxY8D|kdOr&*?! zFKP!eOf|esKh9o_YUdT9xHZoUh7)VgD+W*WX&B~&#tn)~Vp-|iM;9DbhcY@^c9$u>}vT2 zY`u}YDQfUAJ%uEg0Hy7+DHeQ1x?=^7Oa!A?rz(fh@!(ZF*oFX~Vkf6yJ2a2$U*!t@ zVocPUaoYjQMt;fEcX%fv^DPXL6ayryM!hX5Sx69X8jGh)j%ZD7>ljNh;#y>a8{0p1 zjVJ!so7#_gdqb=0#7V8B^;eS4jK2y8qvu+{#eZ8y;Yykfw(e-v35obx$gOQYFSI)O^!(oHIX9lO>pRe0(qP)M}(5SPIXLYP7 zswHQM6vu`%H%(l@xf^BKPS6E=w`xW9IqFcmTOS#q5N*@aT@LBF3)Bp-$wmK0X#uiZ zgU`v~ZzEEhx;lJr#qkZOHTA~O+Y6GSxD2XVgaQn0T@JHy5Sv8o(DJqo+I;`M>&0R) zdk+4I?u8(tPTU_mMyQ~x<@R8wVv*4d(cmHGmUMbDc&_Nc+CBF#`9l zeN(1Dm76H-qR`h1Pr*(y@=pE$#B6umMR7=j9>QO8k5@!ZIE zoNEGzBMp(^1wP>#jG`tSY?h$P)1NAlMDBoLvtZeAQHxa}7ji)xDLKjl`!SL>*)!u3mQt(gh>LEAd|77K8QNe;#4w`Z0h|1Bf8 ze@jS#qr+0VK{((TB)hnsr1C6L&;^EZ&nv1J`5&m!!DqZs_?4<)`K>|AA|S>|+Zd62 zQZ5=p^rciR5TDb-{3!7}%-JTy-#6JTZM4Zv`Do3MrJr7GlaJVgx1j9KGW-3BY6H+=>1-ca})I)B!0mrRiHul%1s!3jd@jn}jASU$`{99W}Yo2Z%_v`KX z*&ZEt`yO|_lTA3xV0Ac9A!1&U!OTYRqMMk*CJa+-$0|bAhNOf37=G|dmlu?Ai?~0B zDy;NaYJx(S83(HW4+2Vj_TBe27ny!#>*FZQLR@}m-MhFs`|kZ~zek1ZJ$y?tey>_! zvFRBNuO%TzFa(hp5XvV+^9?`YazfgWjX$bfv^tYFq4~(Cp)a4l&jpg*JadYGSXNQ6 zdI(kNMAs4epg{`7!yURE5Zw*E97Gfk*VbE*=*1D+1LjzWtmc!QaLQQbdS$Fd#-Zb7 zz1zoR(rsE&S`rmx;#w0m!ufph5xX_SwyK@&?+D24K^l-SB`6HyB%nv%#aigzwks;YqVNF$lS5P}842DJ@d2viLNyJr_f~-0{1V=h zVNW)AYMV)c;1C&KOJ2{eZA|lzJGRx1PCi83hlRObiv5CJozWy-Wx%Vt%;pr}4@zQQ zhj}!u+B*NIk8ax0GR2ITqh$4k*g?8LH>v%8?%CE|`!mJtob2}jyP>D`-LHE`$=f)}ezMrFaM5tqviL$fjvIUoJcY4BpM?#z!KI`#{ zhl~;YJ-rx!6z#xvc7hd&6JKHGUCcm@g+8a$qQp~{z#hPK0#`D+;|{

;_HD`Ipai2pfdX7#^J_ODKsNd7;1GaZk`?k5;WIdLp@ z(Vjgwm^d(hX)3ZBkFvfl0C%NQ0WTt?NABkg_(%tDSAFbjITd|ThRK^7RL!v&yKNJD z&VAQRJTxDAgzklfv<19fY>6vuc(EgzVhFl{zi_Mf%nT|q3p%5%Lr&(nK2`qTpXk~- zGWpl%FsT}dAYucekNEQe3RuevWuu z85Y-0n-6JsH9@H|JSYWYhyPC56id@UJVbsMYhi!+LmXGkDMLaS4S)sp)@DN=NOd^? zNS85Z8#d#~e#sYY--3JY3FG=g2z6BFj+ekDvV1doDkO)9gT=IMnHoI21fqsFgPy#) z5HKkInulH-t*M#QXN?L|uw>y6HQC=0GO@l|o0p?+v<`8v~Y7&JNkKkfGAR zDdAU#*|B3U8tPa@Fw%$F0JW``d$abRLomVMrC#89h;P8kRiUsL2Z_gau!+!%>6r^f zR-&A^_&})9$kVD+DqIrgjJdVbySBm2K|0PwmE?&P-CCldY-azdjA)EUoXlV`Xx4#0 z>J3AmKw_8h30%b_r1Z2Q$|?t#p1e|fdOdcG6|~+1XEuy^=kxE+j>oV3%ZQsYojmwr z^YhIo)73@3>9(ADK^i#2jSY!tCV2Z# zRvY)K4|%~}^Tcai4YL?j)ALT6EH{z^k&ofmzLI@l8c<13xU})`v~=WC$+6wf^3| zP;p2SmKEI9FaVAsJ!d&Q)tqNgECcB{FT&{|x4iP%&acY)O4C!*S=A%~Fr-=VHZ6VJ z`P6isl<&-0N@sxOVEAMQG~V~w?cHUKktrJr9{8ajaKB}khD2};H|lT0t16#+Y~Bmg mt;(Qt4Zc7n#)v%kH_)c*6;U8}`|pai%4<6iD}+!qd0w=o0u>AZ literal 10324 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 mWHZujtIvF2uZxCPoiKB(<7vzpCx2.0.0 \ No newline at end of file