httpclient 2.8.3 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/test/client-pass.key CHANGED
@@ -1,18 +1,30 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- Proc-Type: 4,ENCRYPTED
3
- DEK-Info: DES-EDE3-CBC,DE0F454B166A4941
4
-
5
- Kub+uiaDkZAmUP2P1VKKB1tPcoJ/ZSs5sLckVv156XDfH+6OilEh+E4vXuKkJnW7
6
- KFVM/nKrKPxLtNmKha0yx2bqZeUfUdpwq1GqTve84v/oJDTOhBXPlKlkMvzzVhdC
7
- IeJ61BgSt4ZVWSAcorae8yvDtUCtVoc0YonuiEno5bjEOWMuOu9iwviDIO+IePdY
8
- mgIPkEyPQOY6/Ir3ImLdqmpPfVPnNxx5fIw9VXDfTqWfY3qHnGECx17ko4PCxhkN
9
- IwnXU8E6r6XRpHV58t7JkM88eD0crpQpZ8Ki1zVPtHq8DfQLwQI+FGt6PBmeneVl
10
- Dne6UPIaEDpd9f5X+Q7+2jZCBOsGntNh4+E7AwnG+G4IpleUG308DWsXZZpYhfLy
11
- 12WMzDlsaQ68qgO1a7rD+nOpIgUfIl7bdB242g7gWvXyVzZOGJIg/P3Fl6ydR7Al
12
- afAQFH2L1YH7u9zJLIonMmVRz7VNUHwlVaPE18VGBbzwFOmZHj2THUUB3cOGfsC8
13
- FgQz0JVZT5t7fAS53KRXhH/mWEimcrKSvZJxOBwoknQDtHS517wMhyUco63UYEQq
14
- 2nkW6BD08Qc92xu14hWuWrActTtsJ3wyGSPMYbqo5QRvlnpaEzaQlMRXdBHYbSFJ
15
- D5Eo2nXXqNPX7YbyIHh+cda80r9OwmH/gvXThQd79pMvNHPZ2TWnrlZF7YAdVxHH
16
- etLrAVas2AxXs2LdhwFTI6dmxMv92gYz/WwMeZaNV7SJ4JIKHxGCmajv12cnGVh9
17
- qCxMIFcpISr3EMwEAnF0npfQ6Xp6rKFUXuEml036vE8=
18
- -----END RSA PRIVATE KEY-----
1
+ -----BEGIN ENCRYPTED PRIVATE KEY-----
2
+ MIIFNTBfBgkqhkiG9w0BBQ0wUjAxBgkqhkiG9w0BBQwwJAQQ4pmlJbtbsPI870so
3
+ ck7xuAICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEM3nTAG4IrPKlPmI
4
+ gl/AXmEEggTQayHhmaOAPfS7siJ6FuC9LXfrAIgjyeVRWebyVhNQ+74G9g8o41gb
5
+ BNu8rncNhkLFEEM5pFOVtoDKF/TsiVx9YjpuzC9n4r0+c2NceCzI5FDzEMUo6BRt
6
+ 554k+FVVG9zoJbHLy4Pq3j8ceMOk1nKDAKtrpGqInYR9LZhSYAAUGQhDRygdBS8a
7
+ C45f1FBZTsfLXsvqcLNgY++slHnvZpeiWOMwnYtN7vbfFO8G8h54uTNc166ls0B6
8
+ mnB1A6Tl3nI9U0cbx8gT8Yx9PrVc9YA9sxxc1ggmRhiY1s6z7gs9w1TFq1ioDyrL
9
+ oeQ+T5gBTluR+nUZ5MHQpYWRbIKRvPP2WdaRwwuapdWNTZ0fUBfDSxtSAFVi+mvU
10
+ V6FxN/zNEPCui3+u0mxiOOVF+xOQW2w6VxrvpqEpZZ8bMTeMbeyFU9656HII/Lmh
11
+ tgLs6kJzh5vRkFQvGNEXGO3mBkOhJNvLbsZWe5RF/2KvborZDqwOJ+ZHM87jleh0
12
+ rFIjApaIMPUstK+cLkSALDuYAlfPalvrdKLPmfEHIJst2K9BqVWMb70oQw/3+RmM
13
+ Oe7U/vMvHKeGkhB9mB1GXPVAnFlhc99yXurHZpG2uvRkPf0wLHBB89KRcYYujSMk
14
+ iHV2ncvqlvW+Bh67S8+vs1jTfZcOORBGAhiPs17FGLNQVWY4SzDuCJ+Q/mUHJdxr
15
+ J01Bh78H9w+lmOZ1uEsEmJIVX/B/VTpgisRemNn3CCt5OekuO865f6oHY+5tj6R/
16
+ JiWfxPF9/wqaWms//ze8xrVnybmcZjyZ+vF8eUIa4I9CcTv+b4l/cX1VD1wni2ip
17
+ 08jt7D/unLCqFIkD5vstYyN8zH/oYOpq36xvob7CKYhWree/FP1QvlrczNMtiGlN
18
+ +HmUsy4OAnfgx1W03yhUq7fEk9BfdVMLoBtUJOXBWBm3EKKZPvlD0sbmXruzyGaX
19
+ 3pvFhPJOZ4Xb4D0LAdkFDbZ753lQboP3J1vQVVjGwjkm+fndp2xauJTNuRL603g7
20
+ CnHWOx3OuEUfQrDzsIZGgVNdlr5thCsIuqUgq/DUVrDkWZ3VeRrcSHj6C1ES45Yn
21
+ Fqbc0AHveIugFsF8F3Ffzjk0BfkKP9MXSZi9ZCurUTHFj33xDDsAH6HpTkkkf56T
22
+ IEQvHoAlQrMRieKMrhtkJ9CCyITLQScaGAUW022p0P0NuZILH/gS9j1JINIoa4x4
23
+ fiG0i950ffP99TihAGUd73oZb/UcJsfqSGUi9keUpViT406LbUie9tC8JQaBfslV
24
+ EiAJ8/png/pf1ocqUuBReVM0cDqi60B0RyTYx3MNkeGMvYY1lmGAh2WSCh1EF+2k
25
+ jOPQteKfg/2ncRQ35a2AOsOCZYt3r3j8Kix0jDHvHdvglFfXn8gN/oZawO5c1FUU
26
+ IT4Np6IOMsP/zP8y3KJ6masAdm65pHhJo7bERP1FnxSv2r1moUTmU1CSP+72nm26
27
+ tUI2ryqcLPUFAJG8z0QqTaIrtMVuHofWm1z1BIIwaU83zZeBPCHKC6xEUhbB6XCB
28
+ M6ZxkHL3/5V/7UieK9FRayd/6Imp4R06eNtGLEh76cF5g9GP0UUIt/Bxo/x/n2x9
29
+ dvkwZJ1PjdLnc3D52PvMBNW5IfpQGmUPRr1PT/Wz8+9NR95aDqbKj04=
30
+ -----END ENCRYPTED PRIVATE KEY-----
data/test/client.cert CHANGED
@@ -1,19 +1,20 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIDKDCCAhCgAwIBAgIBAjANBgkqhkiG9w0BAQUFADA8MQswCQYDVQQGDAJKUDES
2
+ MIIDQDCCAiigAwIBAgIBAjANBgkqhkiG9w0BAQsFADA8MQswCQYDVQQGEwJKUDES
3
3
  MBAGA1UECgwJSklOLkdSLkpQMQwwCgYDVQQLDANSUlIxCzAJBgNVBAMMAkNBMB4X
4
- DTA0MDEzMTAzMTQ1OFoXDTM1MDEyMzAzMTQ1OFowZTELMAkGA1UEBgwCSlAxEjAQ
5
- BgNVBAoMCUpJTi5HUi5KUDEMMAoGA1UECwwDUlJSMRAwDgYDVQQDDAdleGFtcGxl
6
- MSIwIAYJKoZIhvcNAQkBDBNleGFtcGxlQGV4YW1wbGUub3JnMIGfMA0GCSqGSIb3
7
- DQEBAQUAA4GNADCBiQKBgQDRWssrK8Gyr+500hpLjCGR3+AHL8/hEJM5zKi/MgLW
8
- jTkvsgOwbYwXOiNtAbR9y4/ucDq7EY+cMUMHES4uFaPTcOaAV0aZRmk8AgslN1tQ
9
- gNS6ew7/Luq3DcVeWkX8PYgR9VG0mD1MPfJ6+IFA5d3vKpdBkBgN4l46jjO0/2Xf
10
- ewIDAQABo4GPMIGMMAwGA1UdEwEB/wQCMAAwMQYJYIZIAYb4QgENBCQWIlJ1Ynkv
11
- T3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFOFvay0H7lr2
12
- xUx6waYEV2bVDYQhMAsGA1UdDwQEAwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDAgYI
13
- KwYBBQUHAwQwDQYJKoZIhvcNAQEFBQADggEBABd2dYWqbDIWf5sWFvslezxJv8gI
14
- w64KCJBuyJAiDuf+oazr3016kMzAlt97KecLZDusGNagPrq02UX7YMoQFsWJBans
15
- cDtHrkM0al5r6/WGexNMgtYbNTYzt/IwodISGBgZ6dsOuhznwms+IBsTNDAvWeLP
16
- lt2tOqD8kEmjwMgn0GDRuKjs4EoboA3kMULb1p9akDV9ZESU3eOtpS5/G5J5msLI
17
- 9WXbYBjcjvkLuJH9VsJhb+R58Vl0ViemvAHhPilSl1SPWVunGhv6FcIkdBEi1k9F
18
- e8BNMmsEjFiANiIRvpdLRbiGBt0KrKTndVfsmoKCvY48oCOvnzxtahFxfs8=
4
+ DTI1MDIxMjA4NDIzMVoXDTM0MDIxMDA4NDIzMVowQzELMAkGA1UEBhMCSlAxEjAQ
5
+ BgNVBAoMCUpJTi5HUi5KUDEMMAoGA1UECwwDUlJSMRIwEAYDVQQDDAlsb2NhbGhv
6
+ c3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEFJDGjOy5HGywyT5Z
7
+ Pp0G0RQOVWqo/tibh8oDnlFeYA0/ZhITndLZBA5iOwjzVhLYOMiE5HJmiC/qPTmZ
8
+ 0wAmAejD6uNqjJeFW5bkTNnNAYxu9lHSJcT2X4LhTO4gvL2+B0PZ39a3JIsODSJa
9
+ TDdFo0hMI/sTtKHcyzJehEBFWswM3X2yzi0sTj0uTEtrGc4U8LsvgQdwoZ1KvtiL
10
+ Z9N8z/geuEzOaZnNbS+rdbuIQGeSZEMmIfT1SkLLOnPTEioLMwT+ECwCjRmOsU4B
11
+ 3J0dZmPMQDfGEX3FL5H2go39qtB0KJZCcP7WBLeJMnR2p3VAgMpj0tzaABlRTCgw
12
+ VwmbAgMBAAGjRjBEMB0GA1UdDgQWBBQltYvx3ODdhLGh6NSHUFlABrhNfjAOBgNV
13
+ HQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQAD
14
+ ggEBAHKO1hkNOirG1y0C9tg/nnMEmMUmQCX86JAW+kL++p6PjyLnANMsy0xd15rN
15
+ N4gm5/FeOfEZy5OA68Srs2KV3jLRqTyjzC4Q9NJR+d3rpgmC50hnvYNfpz/KcW1r
16
+ zpsC8oGHoSZzVyohjAX7de6p7LtNdjSJFQSKS4sb6W28+naSo/ko1wOGhT8USSQd
17
+ WxDFcCakJW+ro1K0Owiyv1oWhCrDrx74Vr2uVOSx+ThQr66CzsSPcMDGXumFsAA6
18
+ y+xzIjPoayPvvGsXs7q0Yp/1ydUCY7usx8tuFSpI7iFZa4OB53hvTKKJMhWDuUUu
19
+ vyYAB8cvu3+4p1t1noP7QnbAxu4=
19
20
  -----END CERTIFICATE-----
data/test/client.key CHANGED
@@ -1,15 +1,27 @@
1
1
  -----BEGIN RSA PRIVATE KEY-----
2
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 7UIQ8qP6GZ4aYMHgVW4Mvy7Bkeo5OO7GPYs0Xv/EdJFL8vlGnVBXOjUVoS9w6Gpu
13
- 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
- 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
15
27
  -----END RSA PRIVATE KEY-----
@@ -0,0 +1,20 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDOzCCAiOgAwIBAgIBAjANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQGEwJKUDES
3
+ MBAGA1UECgwJSklOLkdSLkpQMQwwCgYDVQQLDANSUlIxDDAKBgNVBAMMA2FsdDAe
4
+ Fw0yNTAyMTIwODQyMzFaFw0zNDAyMTAwODQyMzFaMD0xCzAJBgNVBAYTAkpQMRIw
5
+ EAYDVQQKDAlKSU4uR1IuSlAxDDAKBgNVBAsMA1JSUjEMMAoGA1UEAwwDYWx0MIIB
6
+ IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+KwMPGm5ZHV2fEUVpTMQB87E
7
+ YtSiNsS4f73R8zVrE6WGHrWNFfVUb51GRvBSscc8u1oT4yUPCBb4M8iVMeNmxtEW
8
+ 7CDXvwL/okX156KaX1KGX5r9IR3It84Xn7d+b6lhzIwpRqYVspl6QJ9wPujh+8zP
9
+ ZmZynAqLzYBBFB6/TY2iISZW39s/ECxMvffcAd8d8XLqACt5qhx9KAmKPrAkgcID
10
+ 8xigaua18tc5pYvI7BoLP3oD4bQy9EGFQ69lW7MOehWuNzxh23SOBjcl8IOm+pUK
11
+ ynyYmkvEsfdZ4MkWTUkE1Amemryz4brMaHBcM75IQVpjl3k99iMwywwIFZxnUwID
12
+ AQABo0YwRDAdBgNVHQ4EFgQU800KdFhu+/IYKvdJGrLGYT0m2gowDgYDVR0PAQH/
13
+ BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4IBAQCz
14
+ 0/30ND+yKIaO7hCzOBFw9jiNHYc5RZZLExJc2VoqdRm6N6UmalutjN/NoAA5LaIC
15
+ UZlq7qrIgiz4FZzcjMdrx3BEZyCF9lnAQ8hrfZfoKsDeYJnqb0sJyXkJnthjhLqQ
16
+ XGcKJ5W8ZfrXQuLCJwbEJcCAMctPQda4y7vehEGkliuDQnuL8itwapIlSAWbY9cq
17
+ j1TBWCUX6FoLtJKcxJVVoMblCswfddMACeFhdwNenkFNV96MApZtvTHgMIPS6PxT
18
+ JdxRxiFXPrm+Qq1bZDCP7RArhAV3LG3/mEBwP1+S5XJHuSAHEpBKkdyadVQg8hG8
19
+ 7X6J4IwDlHEGONz2F863
20
+ -----END CERTIFICATE-----
@@ -0,0 +1,20 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDOzCCAiOgAwIBAgIBAjANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQGEwJKUDES
3
+ MBAGA1UECgwJSklOLkdSLkpQMQwwCgYDVQQLDANSUlIxDDAKBgNVBAMMA2ZvbzAe
4
+ Fw0yNTAyMTIwODQyMzFaFw0zNDAyMTAwODQyMzFaMD0xCzAJBgNVBAYTAkpQMRIw
5
+ EAYDVQQKDAlKSU4uR1IuSlAxDDAKBgNVBAsMA1JSUjEMMAoGA1UEAwwDZm9vMIIB
6
+ IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+KwMPGm5ZHV2fEUVpTMQB87E
7
+ YtSiNsS4f73R8zVrE6WGHrWNFfVUb51GRvBSscc8u1oT4yUPCBb4M8iVMeNmxtEW
8
+ 7CDXvwL/okX156KaX1KGX5r9IR3It84Xn7d+b6lhzIwpRqYVspl6QJ9wPujh+8zP
9
+ ZmZynAqLzYBBFB6/TY2iISZW39s/ECxMvffcAd8d8XLqACt5qhx9KAmKPrAkgcID
10
+ 8xigaua18tc5pYvI7BoLP3oD4bQy9EGFQ69lW7MOehWuNzxh23SOBjcl8IOm+pUK
11
+ ynyYmkvEsfdZ4MkWTUkE1Amemryz4brMaHBcM75IQVpjl3k99iMwywwIFZxnUwID
12
+ AQABo0YwRDAdBgNVHQ4EFgQU800KdFhu+/IYKvdJGrLGYT0m2gowDgYDVR0PAQH/
13
+ BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4IBAQB8
14
+ 5ajqPOVWoOuXfjAlXR7FWPrXRjromnZlqG5mzHjBuamPvgPbcF8pBNs457i1YQyg
15
+ /55UpRkWj4whq5eZNFamCb4vhPh7+mSVARvbEm4TREA/oGPE28NUH00W6Shim7GN
16
+ Jx71ZQtC3DUxAhyd/JALSFnbfzbMpgsCZh+HdbptZqnWss76K98rIh6RIKXfIYjg
17
+ 6APuNC6R9vcvQ6NbocwxxcphZuHJJBC5kpHCl8lmseifeBU8/SZs98kpYIiVcVJQ
18
+ Db5yS5US8dnuZAT6Y8I0bS6/6i6u/rMRtVhE64Geo5wCyiOadC5CwUqVE6Ew/cjc
19
+ pfZkpsPSMys3OMOOX32A
20
+ -----END CERTIFICATE-----
@@ -0,0 +1,27 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIIEogIBAAKCAQEA+KwMPGm5ZHV2fEUVpTMQB87EYtSiNsS4f73R8zVrE6WGHrWN
3
+ FfVUb51GRvBSscc8u1oT4yUPCBb4M8iVMeNmxtEW7CDXvwL/okX156KaX1KGX5r9
4
+ IR3It84Xn7d+b6lhzIwpRqYVspl6QJ9wPujh+8zPZmZynAqLzYBBFB6/TY2iISZW
5
+ 39s/ECxMvffcAd8d8XLqACt5qhx9KAmKPrAkgcID8xigaua18tc5pYvI7BoLP3oD
6
+ 4bQy9EGFQ69lW7MOehWuNzxh23SOBjcl8IOm+pUKynyYmkvEsfdZ4MkWTUkE1Ame
7
+ mryz4brMaHBcM75IQVpjl3k99iMwywwIFZxnUwIDAQABAoIBABU4VUj4eqYMcgJz
8
+ wL+apmUMK20FmRwUWGwqLhbTeaIxD0tikboMd9qYcK1QB7Z8+n1AWA8bk/dMQnzk
9
+ wnqB3bzcjdizisWVg2v9DVlpYkP9HlNdPfmL+ZtZvmFWPrdXnG1gjoslVBesCicm
10
+ k+UCaXpbxV0HJAOV0M1GAwetAgUjhGD+NGBzenYBODoHwKBud07n1Dmm8Wbn9Jgt
11
+ +IdX6W+ckieza15EUl26wg/WeFG/8UQHgwSIhlbF6NTF3dV45cOvz+a+hy9upUd9
12
+ BWvd3YpZ3WJIpkW7nTYX33Ug6/gR/X8Z3lZHxsAIkXfI89rBOGR5hqRLvxrANoA7
13
+ u/8W8s0CgYEA/TP5SxouAWPVqBHutfgD58wSPOGCmZKv/0c3FfjWBlUmfm4pc2bM
14
+ DZBHw6i5BUMsjDe4Rm77oc3689BHtQAulX6JYDhpoRKG+SVH3DVYeo7PlbIMvazX
15
+ Jorxj01d+M3coPE0f0gskomF9GamOElVcK/LW0uUb9Lub/3m637jSRcCgYEA+2tC
16
+ 0XhG3inHN7zQPgoUt7JiEQDCsLh94uvxTCLb+1xfv9MvKr3aUGbnRJ0+DhqTl5zz
17
+ G1rNIEayQB9CrKg0MbqigHXdrHw3RUTNpadVri9UOIExXnI7m1nC0b1auRy7q6KX
18
+ t5xwiy+56dIGw4C11HJpg5QKjUAwvHpfNpjsQSUCgYAi5S7OMuV0O5YOe6oyWePv
19
+ 5if9S/b7w0OOIvpshMa6SLHtarE7vkcQ93lsdaxKFV/mUyeKTXFQc1rKj0HSqBvD
20
+ bpTwNdYY5LzFSWYF6zQub9AcCVXILjHYlf2Eil0RFQ37AEMD56Z864cSj7MIvtKP
21
+ nSqhgmEKqD9EH/HbMrmQMQKBgHJAng6+z8WpyqRjo2ZuAlgwMixz4gWY8WwruG3W
22
+ 8Yzav5BWkfqkaA9dk/80TbzvCt89LaTisJDYT6ygCBaaIY3vuGUUKvZ1RFCwIZwD
23
+ 3QXY8Db1TtASrU+9jLDvkcjJa+dlbfi8mNBHkf7VuMkjNn4iuBxZLCpgX0Vnftk6
24
+ yTIZAoGAOH3iesJ7AxDj0Slr6sGNuLYroS2+5/+yPnEGbsMj43mP37wAZwuXhmTn
25
+ XLJTzP16JDmSEZ/gJXPX9b44JOf11SfpsF/mmPat96BgdbA/tpVt/Zn3Ckq0A7FQ
26
+ t7RvCoNT9weAg4eilGAXbAeLdJOJPusM59nOzjuyEgoaa3Sbdcw=
27
+ -----END RSA PRIVATE KEY-----
@@ -0,0 +1,20 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDRzCCAi+gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBDMQswCQYDVQQGEwJKUDES
3
+ MBAGA1UECgwJSklOLkdSLkpQMQwwCgYDVQQLDANSUlIxEjAQBgNVBAMMCWxvY2Fs
4
+ aG9zdDAeFw0yNTAyMTIwODQyMzFaFw0zNDAyMTAwODQyMzFaMEMxCzAJBgNVBAYT
5
+ AkpQMRIwEAYDVQQKDAlKSU4uR1IuSlAxDDAKBgNVBAsMA1JSUjESMBAGA1UEAwwJ
6
+ bG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+KwMPGm5
7
+ ZHV2fEUVpTMQB87EYtSiNsS4f73R8zVrE6WGHrWNFfVUb51GRvBSscc8u1oT4yUP
8
+ CBb4M8iVMeNmxtEW7CDXvwL/okX156KaX1KGX5r9IR3It84Xn7d+b6lhzIwpRqYV
9
+ spl6QJ9wPujh+8zPZmZynAqLzYBBFB6/TY2iISZW39s/ECxMvffcAd8d8XLqACt5
10
+ qhx9KAmKPrAkgcID8xigaua18tc5pYvI7BoLP3oD4bQy9EGFQ69lW7MOehWuNzxh
11
+ 23SOBjcl8IOm+pUKynyYmkvEsfdZ4MkWTUkE1Amemryz4brMaHBcM75IQVpjl3k9
12
+ 9iMwywwIFZxnUwIDAQABo0YwRDAdBgNVHQ4EFgQU800KdFhu+/IYKvdJGrLGYT0m
13
+ 2gowDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3
14
+ DQEBCwUAA4IBAQAHkvTJ1LkYCRP0h++KygDoFrHlRBtcLbeLHRDj0mNYiofMOq57
15
+ IEKI8BQYuA3d/7KsJGLu87KB1NPmQVc4NAertJrOSF/KK4ByvVGbDDKFITQk5Hkz
16
+ wEqeCPYzTqZdGhn9BPd1Yz1WUaGhyXz62VwGcckd6mcT1iU7AAHRr+qEDDvlnJ9L
17
+ MOpI1GW15bxP7kFJ7J4HdYIxXycJPkisLMWsP+ORtUxQ1dtWd/p/yu9/J4+YY4mB
18
+ DQxGlVWf596LPQrXGxenaMjEJjSxOUFaZpq6btQvYDhmB2RvksNECaGNJihEKMed
19
+ Du2jPZjIsDeIJTkEEMObaZ+WB6ZVrsjeV08p
20
+ -----END CERTIFICATE-----
data/test/helper.rb CHANGED
@@ -1,11 +1,4 @@
1
1
  # -*- encoding: utf-8 -*-
2
- begin
3
- require 'simplecov'
4
- require 'simplecov-rcov'
5
- SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
6
- SimpleCov.start
7
- rescue LoadError
8
- end
9
2
  require 'test/unit'
10
3
 
11
4
  require 'httpclient'
@@ -57,6 +50,11 @@ module Helper
57
50
 
58
51
  def setup_client
59
52
  @client = HTTPClient.new
53
+ # Set more reasonable timeouts to make debug easier
54
+ @client.connect_timeout = 3
55
+ @client.send_timeout = 3
56
+ @client.receive_timeout = 3
57
+ @client
60
58
  end
61
59
 
62
60
  def escape_noproxy
data/test/server.cert CHANGED
@@ -1,19 +1,20 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIC/zCCAeegAwIBAgIBATANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQGDAJKUDES
2
+ MIIDQzCCAiugAwIBAgIBAjANBgkqhkiG9w0BAQsFADA/MQswCQYDVQQGEwJKUDES
3
3
  MBAGA1UECgwJSklOLkdSLkpQMQwwCgYDVQQLDANSUlIxDjAMBgNVBAMMBVN1YkNB
4
- MB4XDTA0MDEzMTAzMTMxNloXDTMzMDEyMzAzMTMxNlowQzELMAkGA1UEBgwCSlAx
4
+ MB4XDTI1MDIxMjA4NDIzMVoXDTM0MDIxMDA4NDIzMVowQzELMAkGA1UEBhMCSlAx
5
5
  EjAQBgNVBAoMCUpJTi5HUi5KUDEMMAoGA1UECwwDUlJSMRIwEAYDVQQDDAlsb2Nh
6
- bGhvc3QwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANFJTxWqup3nV9dsJAku
7
- p+WaXnPNIzcpAA3qMGZDJTJsfa8Du7ZxTP0XJK5mETttBrn711cJxAuP3KjqnW9S
8
- vtZ9lY2sXJ6Zj62sN5LwG3VVe25dI28yR1EsbHjJ5Zjf9tmggMC6am52dxuHbt5/
9
- vHo4ngJuKE/U+eeGRivMn6gFAgMBAAGjgYUwgYIwDAYDVR0TAQH/BAIwADAxBglg
10
- hkgBhvhCAQ0EJBYiUnVieS9PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAd
11
- BgNVHQ4EFgQUpZIyygD9JxFYHHOTEuWOLbCKfckwCwYDVR0PBAQDAgWgMBMGA1Ud
12
- JQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBBQUAA4IBAQBwAIj5SaBHaA5X31IP
13
- CFCJiep96awfp7RANO0cuUj+ZpGoFn9d6FXY0g+Eg5wAkCNIzZU5NHN9xsdOpnUo
14
- zIBbyTfQEPrge1CMWMvL6uGaoEXytq84VTitF/xBTky4KtTn6+es4/e7jrrzeUXQ
15
- RC46gkHObmDT91RkOEGjHLyld2328jo3DIN/VTHIryDeVHDWjY5dENwpwdkhhm60
16
- DR9IrNBbXWEe9emtguNXeN0iu1ux0lG1Hc6pWGQxMlRKNvGh0yZB9u5EVe38tOV0
17
- jQaoNyL7qzcQoXD3Dmbi1p0iRmg/+HngISsz8K7k7MBNVsSclztwgCzTZOBiVtkM
18
- rRlQ
6
+ bGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC4SI2h/EryUcj5
7
+ yaPn4pOgRSv7VRwSOJX+6bBVmIuGgeSaqZXd9MpnewBhY9g1doOE3PfIVnnZNrFB
8
+ FHyJBYD7h6p35g8xyNJQ0HDJNd+xOw+LISoyNmgclGnjbtWzdRlzqnBAOjI7BxOs
9
+ MbX0ehkKMcl9VgAJczdGRpQewtDN8JLh8FivHH10txsAch78g7TK4OSfWLSJQg4b
10
+ dYIFEGKATKGutBCXHsDpuM1c0CFXU0qiH0FwnjKLJyyUEZg0WgTSn9PftR1PhVZ3
11
+ xx07FO+Cgku2QLeClKrJH6/9YsFa3W+AZmujt6Hp77LkBSVWDyYoBHDc+HPcIm0Z
12
+ AKg/YuH3AgMBAAGjRjBEMB0GA1UdDgQWBBTZgo2CimpIxBjlzlRwEKfA/3I3GDAO
13
+ BgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQEL
14
+ BQADggEBAJcQ7A7a3XuMbc+eeyAhcoqlWyMpq8ktbVlc4jG7k5dITnXfDYxtMtre
15
+ byTezZRc0EWNEVDxmUkTskDfBjl6r3NgZk7lNIONaoMh3KgcyUa4BIjb3t5ifeKj
16
+ v+PbXD3G6zOpEfV5TSjnAXL/FVtSbsuLsLfu4TQLpZxEW2yRIW0ftOAsVCa0Ewo5
17
+ B78aN2aDrnSgVaTSZ3O+yto/3aVkQFVinCj7uLzoUZVcIQ0maCXTnxYORbAEQlu6
18
+ nt0faBMid8RX++niVh41WxmCkpnx6CnLScGdHsgrCho8C4gnm2hxAiKoLBaM88L5
19
+ VWt9rVhXmSOX4xeYUgVFfH14y2QMOpc=
19
20
  -----END CERTIFICATE-----
data/test/server.key CHANGED
@@ -1,15 +1,27 @@
1
1
  -----BEGIN RSA PRIVATE KEY-----
2
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- gQobb8zDZwJBANSK6MrXlrZTtEaeZuyOB4mAmRzGzOUVkUyULUjEx2GDT93ujAma
10
- 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
- 9vSot/X1G775EMTyaw6+BtbyNxVgOIu2J+rqGbn3c+b85XqTXOPL0A2RLYkFAkAm
12
- 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
- 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
- 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
15
27
  -----END RSA PRIVATE KEY-----
data/test/subca.cert CHANGED
@@ -1,21 +1,20 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIDaDCCAlCgAwIBAgIBATANBgkqhkiG9w0BAQUFADA8MQswCQYDVQQGDAJKUDES
2
+ MIIDODCCAiCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADA8MQswCQYDVQQGEwJKUDES
3
3
  MBAGA1UECgwJSklOLkdSLkpQMQwwCgYDVQQLDANSUlIxCzAJBgNVBAMMAkNBMB4X
4
- DTA0MDEzMDAwNDMyN1oXDTM1MDEyMjAwNDMyN1owPzELMAkGA1UEBgwCSlAxEjAQ
4
+ DTI1MDIxMjA4NDIzMVoXDTM0MDIxMDA4NDIzMVowPzELMAkGA1UEBhMCSlAxEjAQ
5
5
  BgNVBAoMCUpJTi5HUi5KUDEMMAoGA1UECwwDUlJSMQ4wDAYDVQQDDAVTdWJDQTCC
6
- ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ0Ou7AyRcRXnB/kVHv/6kwe
7
- ANzgg/DyJfsAUqW90m7Lu1nqyug8gK0RBd77yU0w5HOAMHTVSdpjZK0g2sgx4Mb1
8
- d/213eL9TTl5MRVEChTvQr8q5DVG/8fxPPE7fMI8eOAzd98/NOAChk+80r4Sx7fC
9
- kGVEE1bKwY1MrUsUNjOY2d6t3M4HHV3HX1V8ShuKfsHxgCmLzdI8U+5CnQedFgkm
10
- 3e+8tr8IX5RR1wA1Ifw9VadF7OdI/bGMzog/Q8XCLf+WPFjnK7Gcx6JFtzF6Gi4x
11
- 4dp1Xl45JYiVvi9zQ132wu8A1pDHhiNgQviyzbP+UjcB/tsOpzBQF8abYzgEkWEC
12
- AwEAAaNyMHAwDwYDVR0TAQH/BAUwAwEB/zAxBglghkgBhvhCAQ0EJBYiUnVieS9P
13
- cGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUlCjXWLsReYzH
14
- LzsxwVnCXmKoB/owCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQCJ/OyN
15
- rT8Cq2Y+G2yA/L1EMRvvxwFBqxavqaqHl/6rwsIBFlB3zbqGA/0oec6MAVnYynq4
16
- c4AcHTjx3bQ/S4r2sNTZq0DH4SYbQzIobx/YW8PjQUJt8KQdKMcwwi7arHP7A/Ha
17
- LKu8eIC2nsUBnP4NhkYSGhbmpJK+PFD0FVtD0ZIRlY/wsnaZNjWWcnWF1/FNuQ4H
18
- ySjIblqVQkPuzebv3Ror6ZnVDukn96Mg7kP4u6zgxOeqlJGRe1M949SS9Vudjl8X
19
- SF4aZUUB9pQGhsqQJVqaz2OlhGOp9D0q54xko/rekjAIcuDjl1mdX4F2WRrzpUmZ
20
- uY/bPeOBYiVsOYVe
6
+ ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALmNNo+I5XkgbBTJbvKgJxq5
7
+ oiJMEInr64KiCJOsA5Z35oE25a8OIWeRqxKW+jufonF96V/swWNM11gaUcTjYT72
8
+ g66ux42vWNN8uFxhhqhYRyiMjfSVA3HUZFaqmU9WP7H3YQGINJZ83BPOYoinZXEP
9
+ TrQVa8wIKT9Xc5gOq7+SqUuqLvs4jIkgrB744Fo0soCh5WT3V3Op/5K8MA0+N3P4
10
+ VrFm/SP8k7deT3EtT/aOHgkaKLo3hQ8zkDegVFEKfmWyoA/MwTSciioX/ePm7jjb
11
+ z4ffl5/ifg3Hgmuk6m85ZaGULJHCkciEgP8scZUNHkRvDK6ZBluwrUpepv5ARUsC
12
+ AwEAAaNCMEAwHQYDVR0OBBYEFErc4GxPO8mVXXhTgje5yLxWLh0bMA4GA1UdDwEB
13
+ /wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCAcHOU
14
+ nvhuV6Vuh4gNZjeLJWapJBVYZdkAOd4EhiWtYpq0wWSqlgE+VzIXV9gccYaulVmf
15
+ NJoLuenzML764U8kOBk8mOWg+U5AYOXwRgsU+e56jgWG6/ijLSf7YfaVkVZNPe36
16
+ 59+0KLag6AkkeDOdXbkfageukg6LhTk4Zg1piRMP3JSYbXVzTlgdm8hLKgPOJitQ
17
+ FdjMytGYCU5oGHrRrwhlar0xlIvynzVL5wlkuJ19hKUw4UYjoNFy3ZJtbtdqSaF2
18
+ ZGX/8KNDYFoHAyvGZCYTr22T1ywWeMFQ+4beiYEv2lifVcYIoI0bEA8Pe9i3Egiv
19
+ 9u18A/unCSVLPua1
21
20
  -----END CERTIFICATE-----
data/test/subca.key ADDED
@@ -0,0 +1,27 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIIEowIBAAKCAQEAuY02j4jleSBsFMlu8qAnGrmiIkwQievrgqIIk6wDlnfmgTbl
3
+ rw4hZ5GrEpb6O5+icX3pX+zBY0zXWBpRxONhPvaDrq7Hja9Y03y4XGGGqFhHKIyN
4
+ 9JUDcdRkVqqZT1Y/sfdhAYg0lnzcE85iiKdlcQ9OtBVrzAgpP1dzmA6rv5KpS6ou
5
+ +ziMiSCsHvjgWjSygKHlZPdXc6n/krwwDT43c/hWsWb9I/yTt15PcS1P9o4eCRoo
6
+ ujeFDzOQN6BUUQp+ZbKgD8zBNJyKKhf94+buONvPh9+Xn+J+DceCa6TqbzlloZQs
7
+ kcKRyISA/yxxlQ0eRG8MrpkGW7CtSl6m/kBFSwIDAQABAoIBAFXknjCkhOFk1lNr
8
+ CZ5r754p93lb774AxWUT39eIJaMGPuBqyrkV1/XLEz+IPy7Rj09tI1ah0MXIYNkq
9
+ WdbEERSl5cA7rSmT1ZEU53zwMncEYnBNXDsvrcgIMyiBUXXN7a9S3gdpBzrwcqoC
10
+ fE9Y+hbzqJGpZtysnHdzYpGtnOiRT92atZudOR6qXKQA28qeuidZ3kNoasKysatD
11
+ ohhIQ8qErEQ6umGAvdjG/hf19j9c5ZuwQDJpfsczlpTHF3fgKiNJoQAb5GExhGW0
12
+ E2QaQzH1z60Cb+4rP2M6B7cw/2qf6gZxWXerQoVrcrd69osB7OjmWw5Ue7JlNGEO
13
+ s0SeLl0CgYEA6f79uANVeEFSzNrZxuR7zRQfKNiZNa162rTiGpSXfTRaGJI9x2uF
14
+ spt62KkYaTKBq2jK6V83rjK28+pA+Q9D+YxPd+vShNCcd8AtOIElFSWwq8If1c03
15
+ 2LmJg7JO8PYPLJKT41ANC75nv/qoRap5idw/9z4QrVuO/y3hlFckDycCgYEAywAD
16
+ r7wj7jp7/M5M4SehACOh2ztzSjBcWG4INq1XguyIsEb5MLB3y9GV5jgwhulJO+kw
17
+ Yo8hVGf5g21NS9TxvHEXNXERQYZQ34HZPmHrp0t8gYDmMLlFDAdiyojpB5TObKoz
18
+ hUqhegAnv4Do0xkhpBHzHMZzu3+v8Nkv+ylrrz0CgYEA0A90SEdmmvvyhMZf9/K3
19
+ hf1LS4V0jX8IiyllFl9jZ+fB6LE4D3aytcJ78+Q/GWLYW7JdIi8REmpztORpC0wg
20
+ k+bHzoi4cnIPfoc5blGeyHPv6Hk+11uXObSX6qsEeEtB6M8YgnlucC/IjrJxJyjS
21
+ 0tstYUkliQ+tUYbZWo41OOcCgYA/duSwJ0iwbPZgZfrhFWufSISMrrxvgEkOmG/W
22
+ 8ECAvQRK4BV95F2/iemsTPrW4s4zfcbTuV25LrxyG1TkFVHyEQUpfwzfCGf2SHkr
23
+ qJ9s8QuezTaqGvH8Pb7kBQOdjCcxD9EFpfxv0OacV2fyv1OmILp5z41VHClcSfpX
24
+ Mm7pHQKBgAFdYkZJBSg5xUJY18Fl2E6qRS8+LbOf85CHDrVQ5SrbuMLfgcDtHxJS
25
+ 1Hcsek+VpQENeYnAtE2QObTWPjWiU1AWHtH24bFLNJgWfzd4uwz/sduOX+mGqUZh
26
+ zXTqd1n4UZgEmAuFECfY3R1aUG0bZx64k36g7QvW9WGRr+naKNqp
27
+ -----END RSA PRIVATE KEY-----
data/test/subca.srl ADDED
@@ -0,0 +1 @@
1
+ 1A196228872FBD912F1AED26DF7847E9BE54F0EA
data/test/test_auth.rb CHANGED
@@ -127,6 +127,10 @@ class TestAuth < Test::Unit::TestCase
127
127
  def data_size
128
128
  @active && @value ? @value.size : 0
129
129
  end
130
+
131
+ def value
132
+ @value ||= ""
133
+ end
130
134
  end
131
135
  end
132
136
  end
@@ -176,7 +180,7 @@ class TestAuth < Test::Unit::TestCase
176
180
  c.www_auth.basic_auth.instance_eval { @scheme = "BASIC" }
177
181
  #
178
182
  c.force_basic_auth = true
179
- c.debug_dev = str = ''
183
+ c.debug_dev = str = ''.dup
180
184
  c.set_auth("http://localhost:#{serverport}/", 'admin', 'admin')
181
185
  assert_equal('basic_auth OK', c.get_content("http://localhost:#{serverport}/basic_auth"))
182
186
  assert_equal('Authorization: Basic YWRtaW46YWRtaW4='.upcase, str.split(/\r?\n/)[5].upcase)
@@ -230,11 +234,11 @@ class TestAuth < Test::Unit::TestCase
230
234
  c.www_auth.basic_auth.instance_eval { @scheme = "BASIC" }
231
235
  c.set_auth("http://localhost:#{serverport}/", 'admin', 'admin')
232
236
 
233
- 100.times.map { |idx|
237
+ 20.times.map { |idx|
234
238
  Thread.new(idx) { |idx2|
235
239
  Thread.abort_on_exception = true
236
240
  Thread.pass
237
- c.get("http://localhost:#{serverport}/basic_auth?#{idx2}")
241
+ assert_equal('basic_auth OK', c.get("http://localhost:#{serverport}/basic_auth?#{idx2}").body)
238
242
  }
239
243
  }.map { |t|
240
244
  t.join
@@ -249,7 +253,7 @@ class TestAuth < Test::Unit::TestCase
249
253
  c.set_auth("http://localhost:#{serverport}/", 'admin', 'admin')
250
254
  assert_equal('basic_auth OK', c.get_content("http://localhost:#{serverport}/basic_auth/"))
251
255
  c.test_loopback_http_response << "HTTP/1.0 200 OK\nContent-Length: 2\n\nOK"
252
- c.debug_dev = str = ''
256
+ c.debug_dev = str = ''.dup
253
257
  c.get_content("http://localhost:#{serverport}/basic_auth/sub/dir/")
254
258
  assert_match(/Authorization: Basic YWRtaW46YWRtaW4=/, str)
255
259
  end
@@ -265,7 +269,7 @@ class TestAuth < Test::Unit::TestCase
265
269
  c.set_auth("http://localhost:#{serverport}/", 'admin', 'admin')
266
270
  assert_equal('digest_auth OK', c.get_content("http://localhost:#{serverport}/digest_auth/"))
267
271
  c.test_loopback_http_response << "HTTP/1.0 200 OK\nContent-Length: 2\n\nOK"
268
- c.debug_dev = str = ''
272
+ c.debug_dev = str = ''.dup
269
273
  c.get_content("http://localhost:#{serverport}/digest_auth/sub/dir/")
270
274
  assert_match(/Authorization: Digest/, str)
271
275
  end
@@ -311,7 +315,7 @@ class TestAuth < Test::Unit::TestCase
311
315
  c.set_auth('http://example.com/', 'admin', 'admin')
312
316
  c.test_loopback_http_response << "HTTP/1.0 401 Unauthorized\nWWW-Authenticate: Basic realm=\"foo\"\nWWW-Authenticate: Digest realm=\"foo\", nonce=\"nonce\", stale=false\nContent-Length: 2\n\nNG"
313
317
  c.test_loopback_http_response << "HTTP/1.0 200 OK\nContent-Length: 2\n\nOK"
314
- c.debug_dev = str = ''
318
+ c.debug_dev = str = ''.dup
315
319
  c.get_content('http://example.com/')
316
320
  assert_match(/^Authorization: Digest/, str)
317
321
  end
@@ -327,7 +331,7 @@ class TestAuth < Test::Unit::TestCase
327
331
  c.set_proxy_auth('admin', 'admin')
328
332
  c.test_loopback_http_response << "HTTP/1.0 407 Unauthorized\nProxy-Authenticate: Basic realm=\"foo\"\nContent-Length: 2\n\nNG"
329
333
  c.test_loopback_http_response << "HTTP/1.0 200 OK\nContent-Length: 2\n\nOK"
330
- c.debug_dev = str = ''
334
+ c.debug_dev = str = ''.dup
331
335
  c.get_content('http://example.com/')
332
336
  assert_match(/Proxy-Authorization: Basic YWRtaW46YWRtaW4=/, str)
333
337
  end
@@ -337,7 +341,7 @@ class TestAuth < Test::Unit::TestCase
337
341
  c.set_proxy_auth('admin', 'admin')
338
342
  c.force_basic_auth = true
339
343
  c.test_loopback_http_response << "HTTP/1.0 200 OK\nContent-Length: 2\n\nOK"
340
- c.debug_dev = str = ''
344
+ c.debug_dev = str = ''.dup
341
345
  c.get_content('http://example.com/')
342
346
  assert_match(/Proxy-Authorization: Basic YWRtaW46YWRtaW4=/, str)
343
347
  end
@@ -349,7 +353,7 @@ class TestAuth < Test::Unit::TestCase
349
353
  c.test_loopback_http_response << "HTTP/1.0 200 OK\nContent-Length: 2\n\nOK"
350
354
  c.test_loopback_http_response << "HTTP/1.0 200 OK\nContent-Length: 2\n\nOK"
351
355
  c.get_content('http://www1.example.com/')
352
- c.debug_dev = str = ''
356
+ c.debug_dev = str = ''.dup
353
357
  c.get_content('http://www2.example.com/')
354
358
  assert_match(/Proxy-Authorization: Basic YWRtaW46YWRtaW4=/, str)
355
359
  end
@@ -363,7 +367,7 @@ class TestAuth < Test::Unit::TestCase
363
367
  ha1 = md5.hexdigest("admin:foo:admin")
364
368
  ha2 = md5.hexdigest("GET:/")
365
369
  response = md5.hexdigest("#{ha1}:nonce:#{ha2}")
366
- c.debug_dev = str = ''
370
+ c.debug_dev = str = ''.dup
367
371
  c.get_content('http://example.com/')
368
372
  assert_match(/Proxy-Authorization: Digest/, str)
369
373
  assert_match(%r"response=\"#{response}\"", str)
@@ -394,7 +398,7 @@ class TestAuth < Test::Unit::TestCase
394
398
  ha1 = md5.hexdigest("admin:foo:admin")
395
399
  ha2 = md5.hexdigest("GET:/")
396
400
  response = md5.hexdigest("#{ha1}:nonce:#{ha2}")
397
- c.debug_dev = str = ''
401
+ c.debug_dev = str = ''.dup
398
402
  c.get_content('http://example.com/')
399
403
  assert_match(/Proxy-Authorization: Digest/, str)
400
404
  assert_match(%r"response=\"#{response}\"", str)
@@ -411,7 +415,7 @@ class TestAuth < Test::Unit::TestCase
411
415
  ha2 = md5.hexdigest("GET:/")
412
416
  response = md5.hexdigest("#{ha1}:nonce:#{ha2}")
413
417
  c.get_content('http://www1.example.com/')
414
- c.debug_dev = str = ''
418
+ c.debug_dev = str = ''.dup
415
419
  c.get_content('http://www2.example.com/')
416
420
  assert_match(/Proxy-Authorization: Digest/, str)
417
421
  assert_match(%r"response=\"#{response}\"", str)
@@ -433,19 +437,19 @@ class TestAuth < Test::Unit::TestCase
433
437
  c.www_auth.oauth.set_config('http://photos.example.net/', config)
434
438
  c.www_auth.oauth.challenge('http://photos.example.net/')
435
439
  c.test_loopback_http_response << "HTTP/1.0 200 OK\nContent-Length: 2\n\nOK"
436
- c.debug_dev = str = ''
440
+ c.debug_dev = str = ''.dup
437
441
  c.get_content('http://photos.example.net/photos', [[:file, 'vacation.jpg'], [:size, 'original']])
438
442
  assert(str.index(%q(GET /photos?file=vacation.jpg&size=original)))
439
443
  assert(str.index(%q(Authorization: OAuth realm="http://photos.example.net/", oauth_consumer_key="dpf43f3p2l4k3l03", oauth_nonce="kllo9940pd9333jh", oauth_signature="tR3%2BTy81lMeYAr%2FFid0kMTYa%2FWM%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1191242096", oauth_token="nnch734d00sl2jdk", oauth_version="1.0")))
440
444
  #
441
445
  c.test_loopback_http_response << "HTTP/1.0 200 OK\nContent-Length: 2\n\nOK"
442
- c.debug_dev = str = ''
446
+ c.debug_dev = str = ''.dup
443
447
  c.get_content('http://photos.example.net/photos?file=vacation.jpg&size=original')
444
448
  assert(str.index(%q(GET /photos?file=vacation.jpg&size=original)))
445
449
  assert(str.index(%q(Authorization: OAuth realm="http://photos.example.net/", oauth_consumer_key="dpf43f3p2l4k3l03", oauth_nonce="kllo9940pd9333jh", oauth_signature="tR3%2BTy81lMeYAr%2FFid0kMTYa%2FWM%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1191242096", oauth_token="nnch734d00sl2jdk", oauth_version="1.0")))
446
450
  #
447
451
  c.test_loopback_http_response << "HTTP/1.0 200 OK\nContent-Length: 2\n\nOK"
448
- c.debug_dev = str = ''
452
+ c.debug_dev = str = ''.dup
449
453
  c.post_content('http://photos.example.net/photos', [[:file, 'vacation.jpg'], [:size, 'original']])
450
454
  assert(str.index(%q(POST /photos)))
451
455
  assert(str.index(%q(Authorization: OAuth realm="http://photos.example.net/", oauth_consumer_key="dpf43f3p2l4k3l03", oauth_nonce="kllo9940pd9333jh", oauth_signature="wPkvxykrw%2BBTdCcGqKr%2B3I%2BPsiM%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1191242096", oauth_token="nnch734d00sl2jdk", oauth_version="1.0")))
@@ -475,7 +479,7 @@ class TestAuth < Test::Unit::TestCase
475
479
  c.test_loopback_http_response << %Q(HTTP/1.1 401 Unauthorized\r\nWWW-Authenticate: NTLM TlRMTVNTUAACAAAAAAAAACgAAAABAAAAAAAAAAAAAAA=\r\nConnection: Keep-Alive\r\nContent-Length: 0\r\n\r\n)
476
480
  c.test_loopback_http_response << %Q(HTTP/1.0 200 OK\r\nConnection: Keep-Alive\r\nContent-Length: 1\r\n\r\na)
477
481
  c.test_loopback_http_response << %Q(HTTP/1.0 200 OK\r\nConnection: Keep-Alive\r\nContent-Length: 1\r\n\r\nb)
478
- c.debug_dev = str = ''
482
+ c.debug_dev = str = ''.dup
479
483
  c.set_auth('http://www.example.org/', 'admin', 'admin')
480
484
  # Do NTLM negotiation
481
485
  c.get('http://www.example.org/foo')
@@ -484,7 +488,7 @@ class TestAuth < Test::Unit::TestCase
484
488
  assert_match(%r(Authorization: NTLM), str)
485
489
  assert_not_match(%r(Authorization: Basic), str)
486
490
  # ditto for other resource that is protected with NTLM
487
- c.debug_dev = str = ''
491
+ c.debug_dev = str = ''.dup
488
492
  c.get('http://www.example.org/foo/subdir')
489
493
  assert_not_match(%r(Authorization: NTLM), str)
490
494
  assert_not_match(%r(Authorization: Basic), str)
data/test/test_hexdump.rb CHANGED
@@ -5,8 +5,7 @@ require 'hexdump'
5
5
 
6
6
  class TestHexDump < Test::Unit::TestCase
7
7
  def test_encode
8
- str = "\032l\277\370\2429\216\236\351[{\{\262\350\274\376"
9
- str.force_encoding('BINARY') if str.respond_to?(:force_encoding)
8
+ str = "\032l\277\370\2429\216\236\351[{\{\262\350\274\376".b
10
9
  assert_equal(["00000000 1a6cbff8 a2398e9e e95b7b7b b2e8bcfe .l...9...[{{...."], HexDump.encode(str))
11
10
  end
12
11
  end if defined?(RUBY_ENGINE) && RUBY_ENGINE != "rbx" && RUBY_VERSION >= "1.9.0"