From 86931c43711f8d71023f9c8e5fabba0496dddadb Mon Sep 17 00:00:00 2001 From: Peter Schulze Date: Tue, 3 May 2022 17:08:42 -0600 Subject: default to not calling set_debug_output --- lib/net/hippie/connection.rb | 2 +- test/fixtures/get_root.yml | 113 ++++++++++++++++++++++++++++++++++--------- test/net/client_test.rb | 22 +++++++++ 3 files changed, 114 insertions(+), 23 deletions(-) diff --git a/lib/net/hippie/connection.rb b/lib/net/hippie/connection.rb index 599d754..6e0b196 100644 --- a/lib/net/hippie/connection.rb +++ b/lib/net/hippie/connection.rb @@ -10,7 +10,7 @@ module Net http.open_timeout = options.fetch(:open_timeout, 10) http.use_ssl = scheme == 'https' http.verify_mode = options.fetch(:verify_mode, Net::Hippie.verify_mode) - http.set_debug_output(options.fetch(:logger, Net::Hippie.logger)) + http.set_debug_output(options.fetch(:logger, Net::Hippie.logger)) if options[:enable_debug_output] == true apply_client_tls_to(http, options) @http = http end diff --git a/test/fixtures/get_root.yml b/test/fixtures/get_root.yml index d57b7cd..85a5934 100644 --- a/test/fixtures/get_root.yml +++ b/test/fixtures/get_root.yml @@ -12,40 +12,109 @@ http_interactions: Content-Type: - application/json User-Agent: - - net/hippie 0.2.4 + - net/hippie 1.1.1 Accept-Encoding: - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Host: + - www.mokhan.ca response: status: code: 200 message: OK headers: + Server: + - nginx + Date: + - Tue, 03 May 2022 23:02:51 GMT Content-Type: - text/html + Last-Modified: + - Fri, 15 Apr 2022 22:55:18 GMT Transfer-Encoding: - chunked Connection: - keep-alive - Date: - - Wed, 05 Dec 2018 08:57:44 GMT - Last-Modified: - - Wed, 05 Dec 2018 05:45:13 GMT - Server: - - AmazonS3 - Vary: - - Accept-Encoding - Age: - - '53062' - X-Cache: - - Hit from cloudfront - Via: - - 1.1 39174a6a452e175e6e614ff396a4ca4f.cloudfront.net (CloudFront) - X-Amz-Cf-Id: - - mGugayoZK2mUAfj9WuV5O9c9_uzocRazyLFGqNdDjKQpniAmpFU6gA== + Etag: + - W/"6259f7d6-d86" body: encoding: ASCII-8BIT - string: !binary |- - PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9J3V0Zi04Jz4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPG1ldGEgbmFtZT0icmVmZXJyZXIiIGNvbnRlbnQ9Im5vLXJlZmVycmVyIj4KICAgIDxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy5tb2toYW4uY2EvIj4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjE4MHgxODAiIGhyZWY9Ii9hcHBsZS10b3VjaC1pY29uLnBuZyI+CjxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iMzJ4MzIiIGhyZWY9Ii9mYXZpY29uLTMyeDMyLnBuZyI+CjxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iMTZ4MTYiIGhyZWY9Ii9mYXZpY29uLTE2eDE2LnBuZyI+CjxsaW5rIHJlbD0ibWFuaWZlc3QiIGhyZWY9Ii9zaXRlLndlYm1hbmlmZXN0Ij4KPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlQ29sb3IiIGNvbnRlbnQ9IiNkYTUzMmMiPgo8bWV0YSBuYW1lPSJ0aGVtZS1jb2xvciIgY29udGVudD0iI2ZmZmZmZiI+CgogICAgPCEtLSBCZWdpbiBKZWt5bGwgU0VPIHRhZyB2Mi41LjAgLS0+Cjx0aXRsZT5tbyBraGFuIHwgTXkgdGhvdWdodHMgYmVsb25nIHRvIG1lPC90aXRsZT4KPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJKZWt5bGwgdjMuOC41IiAvPgo8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9Im1vIGtoYW4iIC8+CjxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0ibW8iIC8+CjxtZXRhIHByb3BlcnR5PSJvZzpsb2NhbGUiIGNvbnRlbnQ9ImVuIiAvPgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iTXkgdGhvdWdodHMgYmVsb25nIHRvIG1lIiAvPgo8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9Ik15IHRob3VnaHRzIGJlbG9uZyB0byBtZSIgLz4KPGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHBzOi8vd3d3Lm1va2hhbi5jYS8iIC8+CjxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vd3d3Lm1va2hhbi5jYS8iIC8+CjxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9Im1vIGtoYW4iIC8+CjxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CnsiQHR5cGUiOiJXZWJTaXRlIiwiaGVhZGxpbmUiOiJtbyBraGFuIiwidXJsIjoiaHR0cHM6Ly93d3cubW9raGFuLmNhLyIsInB1Ymxpc2hlciI6eyJAdHlwZSI6Ik9yZ2FuaXphdGlvbiIsImxvZ28iOnsiQHR5cGUiOiJJbWFnZU9iamVjdCIsInVybCI6Imh0dHBzOi8vd3d3Lm1va2hhbi5jYS9pbWFnZXMvYXZhdGFyLmpwZyJ9LCJuYW1lIjoibW8ifSwibmFtZSI6Im1vIGtoYW4iLCJhdXRob3IiOnsiQHR5cGUiOiJQZXJzb24iLCJuYW1lIjoibW8ifSwiZGVzY3JpcHRpb24iOiJNeSB0aG91Z2h0cyBiZWxvbmcgdG8gbWUiLCJAY29udGV4dCI6Imh0dHA6Ly9zY2hlbWEub3JnIn08L3NjcmlwdD4KPCEtLSBFbmQgSmVreWxsIFNFTyB0YWcgLS0+CgogICAgPGxpbmsgdHlwZT0iYXBwbGljYXRpb24vYXRvbSt4bWwiIHJlbD0iYWx0ZXJuYXRlIiBocmVmPSJodHRwczovL3d3dy5tb2toYW4uY2EvYXRvbS54bWwiIHRpdGxlPSJtbyBraGFuIiAvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBpbnRlZ3JpdHk9InNoYTI1Ni1oUVpaNmdpK3B5SXBZbzlsb1NiNDk1cFMwSzV6Y0JsUk54UHU4MGVDdUQ4PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iL2Fzc2V0cy9zdHlsZS04NTA2NTllYTA4YmVhNzIyMjk2MjhmNjVhMTI2ZjhmNzlhNTJkMGFlNzM3MDE5NTEzNzEzZWVmMzQ3ODJiODNmLmNzcyI+CiAgICA8c2NyaXB0IHNyYz0iL2Fzc2V0cy9qcy9hcHBsaWNhdGlvbi5qcyIgYXN5bmM+PC9zY3JpcHQ+CiAgPHNjcmlwdCBhc3luYyBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0YWcvanM/aWQ9VUEtMjQyOTE4LTEiPjwvc2NyaXB0Pgo8L2hlYWQ+CiAgPGJvZHk+CiAgICA8bWFpbj4KICAgICAgPGEgaHJlZj0iI21haW5fY29udGVudCIgY2xhc3M9InNraXAiPlNraXAgdG8gY29udGVudDwvYT4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8c2VjdGlvbiBpZD0ibWFpbl9jb250ZW50Ij4KICAgICAgICAgIDxoMSBpZD0iaGktbXktbmFtZS1pcy1tbyI+SGksIG15IG5hbWUgaXMgPGNvZGUgY2xhc3M9ImhpZ2hsaWdodGVyLXJvdWdlIj5NbzwvY29kZT48L2gxPgoKPHA+PHN0cm9uZz50bDtkcjwvc3Ryb25nPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vbW9raGFuLyI+R2l0SHViPC9hPiwgPGEgaHJlZj0iaHR0cHM6Ly9ydWJ5Z2Vtcy5vcmcvcHJvZmlsZXMvbW9raGEiPlJ1YnlHZW1zPC9hPiwgPGEgaHJlZj0iaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2luL21va2hhbmNhbGdhcnkiPkxpbmtlZEluPC9hPjwvcD4KCjxociAvPgoKPHA+SSDimaUgPGEgaHJlZj0iaHR0cHM6Ly93d3cucnVieS1sYW5nLm9yZy8iPlJ1Ynk8L2E+LiBJdOKAmXMgYSB2ZXJ5IGZ1biBhbmQKZXhwcmVzc2l2ZSBwcm9ncmFtbWluZyBsYW5ndWFnZS48L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1ydWJ5IGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9ImMxIj4jIG1vby5yYjwvc3Bhbj4KPHNwYW4gY2xhc3M9Im5iIj5yZXF1aXJlPC9zcGFuPiA8c3BhbiBjbGFzcz0iczEiPididW5kbGVyL2lubGluZSc8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyDjgoIgcnVieSBtb28ucmI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYzEiPiMgICAtLS0tPC9zcGFuPgo8c3BhbiBjbGFzcz0ibiI+Z2VtZmlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmRvPC9zcGFuPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAmbHQ7IG1vbyEgJmd0Ozwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibiI+c291cmNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iczEiPidodHRwczovL3J1YnlnZW1zLm9yZyc8L3NwYW4+ICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICAgLS0tLTwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibiI+Z2VtPC9zcGFuPiA8c3BhbiBjbGFzcz0iczEiPiduZXQtaGlwcGllJzwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICAgICAgICAgXCAgIF5fX148L3NwYW4+CjxzcGFuIGNsYXNzPSJrIj5lbmQ8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAgICAgICAgICBcICAob28pXF9fX19fX188L3NwYW4+CjxzcGFuIGNsYXNzPSJuIj5jbGllbnQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0ibm8iPk5ldDwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ojo8L3NwYW4+PHNwYW4gY2xhc3M9Im5vIj5IaXBwaWU8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPjo6PC9zcGFuPjxzcGFuIGNsYXNzPSJubyI+Q2xpZW50PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4uPC9zcGFuPjxzcGFuIGNsYXNzPSJuZiI+bmV3PC9zcGFuPiAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICAgICAgICAgICAgIChfXylcICAgICAgIClcL1w8L3NwYW4+CjxzcGFuIGNsYXNzPSJuIj51cmw8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iczIiPiJodHRwczovL3d3dy5tb2toYW4uY2EvIjwvc3Bhbj4gICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICAgICAgICAgICAgICAgICB8fC0tLS13IHw8L3NwYW4+CjxzcGFuIGNsYXNzPSJuIj5ib2R5PC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmNsaWVudDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0ibmYiPmdldDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+dXJsPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4pLjwvc3Bhbj48c3BhbiBjbGFzcz0ibmYiPmJvZHk8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAgICAgICAgICAgICAgICAgfHwgICAgIHx8PC9zcGFuPgo8c3BhbiBjbGFzcz0ibmIiPnB1dHM8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5ib2R5PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4tPC9zcGFuPjxzcGFuIGNsYXNzPSJtaSI+MTUwPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4uLi08L3NwYW4+PHNwYW4gY2xhc3M9Im1pIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj5dPC9zcGFuPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAtLSZndDs8L3NwYW4+Cgo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo8cD5JIHdyb3RlIDxhIGhyZWY9Imh0dHBzOi8vcnVieWdlbXMub3JnL2dlbXMvc2FtbC1raXQiPnNhbWwta2l0PC9hPiwKPGEgaHJlZj0iaHR0cHM6Ly9ydWJ5Z2Vtcy5vcmcvZ2Vtcy9uZXQtaGlwcGllIj5uZXQtaGlwcGllPC9hPiwKPGEgaHJlZj0iaHR0cHM6Ly9ydWJ5Z2Vtcy5vcmcvZ2Vtcy9pbmNvZ25pdG8iPmluY29nbml0bzwvYT4sCjxhIGhyZWY9Imh0dHBzOi8vcnVieWdlbXMub3JnL2dlbXMveHNheSI+eHNheTwvYT4sCjxhIGhyZWY9Imh0dHBzOi8vcnVieWdlbXMub3JnL2dlbXMvZGVsIj5kZWw8L2E+IGFuZCBtYW55IG1vcmUgZ2Vtcy48L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1ydWJ5IGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9ImMxIj4jIS9iaW4vc2g8L3NwYW4+CjxzcGFuIGNsYXNzPSJuIj5nZW08L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5pbnN0YWxsPC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+eHNheTwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYzEiPiMg44KCIHhzYXkgcmFuZG9tIEhlbGxvPC9zcGFuPgo8c3BhbiBjbGFzcz0ibiI+eHNheTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPnJhbmRvbTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5vIj5IZWxsbzwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAgIC0tLS0tPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICZsdDsgSGVsbG8gJmd0Ozwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAgIC0tLS0tPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICAgICAgIC4iYCIuPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICAgLi0uLyBfPV8gXC4tLjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAgeyAgKCwob1lvKSwpICB9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICB7ICB8ICAgIiAgIHwgIH08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYzEiPiMgIHsgeyBcKC0tLSkvIH0gfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAgeyB7IH0nLT0tJ3sgfSB9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICB7IHsgfS5fOl8ueyB9IH08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYzEiPiMgIHsgeyB9IC06LSB7IH0gfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAge197IH1gPT09YHsgIF99PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICgoKChcKSAgICAgKC8pKSkpPC9zcGFuPgoKPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKICAgICAgICAgIDxociAvPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgPC9kaXY+CiAgICA8L21haW4+CiAgICA8Zm9vdGVyPgogICAgICA8aW1nIGNsYXNzPSJjZW50ZXIiIGludGVncml0eT0ic2hhMjU2LTBPT3hnZWltSUpsbnNUUGs1aW8zbUZPUzA4aEVXdlhad0dSSndIa2JwWWs9IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Ii9hc3NldHMvMWIyNjQ3LTFkYzFlOTQwZWI0YjJkNDJlZWFhOGNjYjRiZGYxMzY1YzdkMmY3MmFmYzkzMGNmZjgxOTJkYzU1M2M3ZTFiNDMuanBnIj4KICAgICAgPHAgY2xhc3M9InRleHQtY2VudGVyIj5NeSB0aG91Z2h0cyBiZWxvbmcgdG8gbWU8YSBocmVmPSIv4p2k77iPLmh0bWwiIGNsYXNzPSJjYXRlZ29yeSI+LjwvYT48L3A+CiAgICAgIDxwIGNsYXNzPSJ0ZXh0LWNlbnRlciI+CiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL21va2hhbi8iPkdpdEh1YjwvYT4gfAogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcnVieWdlbXMub3JnL3Byb2ZpbGVzL21va2hhIj5SdWJ5R2VtczwvYT4gfAogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9pbi9tb2toYW5jYWxnYXJ5Ij5MaW5rZWRJbjwvYT4KICAgICAgPC9wPgogICAgICA8cCBjbGFzcz0idGV4dC1jZW50ZXIiPgogICAgICAgICZjb3B5OyAyMDA1LTIwMTgKICAgICAgICBtbyBbYXRdIG1va2hhbiBbZG90XSBjYQogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lm1va2hhbi5jYSI+d3d3Lm1va2hhbi5jYTwvYT4KICAgICAgPC9wPgogICAgPC9mb290ZXI+CiAgPHNjcmlwdD4KICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsKICBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9CiAgZ3RhZygnanMnLCBuZXcgRGF0ZSgpKTsKICBndGFnKCdjb25maWcnLCAnVUEtMjQyOTE4LTEnLCB7CiAgICAncGFnZV90aXRsZSc6ICdtbyBraGFuJywKICAgICdwYWdlX2xvY2F0aW9uJzogJ2h0dHBzOi8vd3d3Lm1va2hhbi5jYS8nLAogICAgJ3BhZ2VfcGF0aCc6ICcvJywKICAgICdhbm9ueW1pemVfaXAnOiB0cnVlLAogIH0pOwo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+CjwhLS0KIF9fX19fCjwgbW9vID4KIC0tLS0tCiAgICAgICAgXCAgIF5fX14KICAgICAgICAgXCAgKG9vKVxfX19fX19fCiAgICAgICAgICAgIChfXylcICAgICAgIClcL1wKICAgICAgICAgICAgICAgIHx8LS0tLXcgfAogICAgICAgICAgICAgICAgfHwgICAgIHx8Ci0tPgoK - http_version: - recorded_at: Wed, 06 Feb 2019 17:45:16 GMT -recorded_with: VCR 4.0.0 + string: |+ + + + + + mo khan + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

Hello, my name is mo.

+ +

I write about programming, + operations, + databases, + the web, + and other things.

+ +
+
+
+ + + + + + recorded_at: Tue, 03 May 2022 23:02:51 GMT +recorded_with: VCR 6.1.0 diff --git a/test/net/client_test.rb b/test/net/client_test.rb index 0b8b3ea..eee08dd 100644 --- a/test/net/client_test.rb +++ b/test/net/client_test.rb @@ -303,4 +303,26 @@ class ClientTest < Minitest::Test end assert(@called) end + + def test_debug_output_not_set_by_default + VCR.use_cassette('get_root') do + client = Net::Hippie::Client.new(logger: StringIO.new) + uri = URI.parse('https://www.mokhan.ca') + client.get(uri, headers: {}) + subject = client.logger + subject.rewind + assert_empty subject.read + end + end + + def test_debug_output_can_be_sent_to_logger + VCR.use_cassette('get_root') do + client = Net::Hippie::Client.new(logger: StringIO.new, enable_debug_output: true) + uri = URI.parse('https://www.mokhan.ca') + client.get(uri, headers: {}) + subject = client.logger + subject.rewind + assert_match %r{^(opening connection to www.mokhan.ca:443)}, subject.read + end + end end -- cgit v1.2.3 From b6d7b627d3685eb81ec670848aa0474eb2aab003 Mon Sep 17 00:00:00 2001 From: Peter Schulze Date: Tue, 3 May 2022 17:09:02 -0600 Subject: add instructions for enabling debug output --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 2bade59..c6055ec 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,15 @@ client = Net::Hippie::Client.new( ) ``` +To enable HTTP debug output you will need to explicitly set it. + +```ruby +Net::Hippie.logger = Logger.new(STDERR) +client = Net::Hippie::Client.new( + enable_debug_output: true +) +``` + ### Basic Auth ```ruby -- cgit v1.2.3 From 02562ffa1a4fcfef773e4b56bac4d1bb05d5e412 Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 5 Dec 2024 16:35:25 -0700 Subject: feat: disable logger by default --- .rubocop.yml | 3 ++ CHANGELOG.md | 12 +++-- README.md | 7 +-- lib/net/hippie.rb | 2 +- lib/net/hippie/client.rb | 2 +- lib/net/hippie/connection.rb | 2 +- lib/net/hippie/version.rb | 2 +- net-hippie.gemspec | 4 +- test/fixtures/get_root.yml | 106 ++++--------------------------------------- test/net/client_test.rb | 32 +++++-------- test/test_helper.rb | 3 +- 11 files changed, 43 insertions(+), 132 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 1daf778..ab18da2 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -8,6 +8,9 @@ AllCops: NewCops: enable TargetRubyVersion: 2.5 +Gemspec/DevelopmentDependencies: + EnforcedStyle: gemspec + Layout/ParameterAlignment: EnforcedStyle: with_fixed_indentation diff --git a/CHANGELOG.md b/CHANGELOG.md index c6bda81..c58c596 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -Version 1.1.1 +Version 1.2.0 # Changelog All notable changes to this project will be documented in this file. @@ -7,9 +7,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +## [1.2.0] - 2024-12-05 +### Changed +- Disable logger by default + ## [1.1.1] - 2021-01-30 ### Changed -- Update +- Update Gem Metadata ## [1.1.0] - 2020-12-26 ### Added @@ -80,7 +84,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - with\_retry. - authorization header helpers -[Unreleased]: https://github.com/xlgmokha/net-hippie/compare/v1.1.0...HEAD +[Unreleased]: https://github.com/xlgmokha/net-hippie/compare/v1.2.0...HEAD +[1.2.0]: https://github.com/xlgmokha/net-hippie/compare/v1.1.1...v1.2.0 +[1.1.1]: https://github.com/xlgmokha/net-hippie/compare/v1.1.0...v1.1.1 [1.1.0]: https://github.com/xlgmokha/net-hippie/compare/v1.0.1...v1.1.0 [1.0.1]: https://github.com/xlgmokha/net-hippie/compare/v1.0.0...v1.0.1 [1.0.0]: https://github.com/xlgmokha/net-hippie/compare/v0.3.2...v1.0.0 diff --git a/README.md b/README.md index c6055ec..f3ace91 100644 --- a/README.md +++ b/README.md @@ -65,13 +65,10 @@ client = Net::Hippie::Client.new( ) ``` -To enable HTTP debug output you will need to explicitly set it. +To disable logging you will need to override the default logger. ```ruby -Net::Hippie.logger = Logger.new(STDERR) -client = Net::Hippie::Client.new( - enable_debug_output: true -) +client = Net::Hippie::Client.new(logger: nil) ``` ### Basic Auth diff --git a/lib/net/hippie.rb b/lib/net/hippie.rb index d71fe68..5a9966e 100644 --- a/lib/net/hippie.rb +++ b/lib/net/hippie.rb @@ -31,7 +31,7 @@ module Net ].freeze def self.logger - @logger ||= Logger.new($stderr) + @logger ||= Logger.new(nil) end def self.logger=(logger) diff --git a/lib/net/hippie/client.rb b/lib/net/hippie/client.rb index 5beec1e..340531b 100644 --- a/lib/net/hippie/client.rb +++ b/lib/net/hippie/client.rb @@ -84,7 +84,7 @@ module Net raise error if attempt == max delay = ((2**attempt) * 0.1) + Random.rand(0.05) # delay + jitter - logger.warn("`#{error.message}` #{attempt + 1}/#{max} Delay: #{delay}s") + logger&.warn("`#{error.message}` #{attempt + 1}/#{max} Delay: #{delay}s") sleep delay end diff --git a/lib/net/hippie/connection.rb b/lib/net/hippie/connection.rb index 6e0b196..9b86dc5 100644 --- a/lib/net/hippie/connection.rb +++ b/lib/net/hippie/connection.rb @@ -10,7 +10,7 @@ module Net http.open_timeout = options.fetch(:open_timeout, 10) http.use_ssl = scheme == 'https' http.verify_mode = options.fetch(:verify_mode, Net::Hippie.verify_mode) - http.set_debug_output(options.fetch(:logger, Net::Hippie.logger)) if options[:enable_debug_output] == true + http.set_debug_output(options[:logger]) if options[:logger] apply_client_tls_to(http, options) @http = http end diff --git a/lib/net/hippie/version.rb b/lib/net/hippie/version.rb index 87af671..938891e 100644 --- a/lib/net/hippie/version.rb +++ b/lib/net/hippie/version.rb @@ -2,6 +2,6 @@ module Net module Hippie - VERSION = '1.1.1' + VERSION = '1.2.0' end end diff --git a/net-hippie.gemspec b/net-hippie.gemspec index 867554f..e391ff6 100644 --- a/net-hippie.gemspec +++ b/net-hippie.gemspec @@ -15,7 +15,8 @@ Gem::Specification.new do |spec| spec.homepage = 'https://rubygems.org/gems/net-hippie' spec.license = 'MIT' spec.metadata = { - 'source_code_uri' => 'https://github.com/xlgmokha/net-hippie' + 'source_code_uri' => 'https://github.com/xlgmokha/net-hippie', + 'rubygems_mfa_required' => 'true' } spec.files = `git ls-files -z`.split("\x0").reject do |f| @@ -26,6 +27,7 @@ Gem::Specification.new do |spec| spec.require_paths = ['lib'] spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0') + spec.add_dependency 'logger', '~> 1.0' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rubocop', '~> 1.9' diff --git a/test/fixtures/get_root.yml b/test/fixtures/get_root.yml index 85a5934..a0d255f 100644 --- a/test/fixtures/get_root.yml +++ b/test/fixtures/get_root.yml @@ -3,118 +3,30 @@ http_interactions: - request: method: get uri: https://www.mokhan.ca/ - body: - encoding: US-ASCII - string: '' headers: Accept: - application/json Content-Type: - application/json - User-Agent: - - net/hippie 1.1.1 - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Host: - - www.mokhan.ca response: status: code: 200 message: OK headers: - Server: - - nginx - Date: - - Tue, 03 May 2022 23:02:51 GMT Content-Type: - text/html - Last-Modified: - - Fri, 15 Apr 2022 22:55:18 GMT Transfer-Encoding: - chunked Connection: - keep-alive - Etag: - - W/"6259f7d6-d86" + Date: + - Wed, 05 Dec 2018 08:57:44 GMT + Last-Modified: + - Wed, 05 Dec 2018 05:45:13 GMT body: encoding: ASCII-8BIT - string: |+ - - - - - mo khan - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-

Hello, my name is mo.

- -

I write about programming, - operations, - databases, - the web, - and other things.

- -
-
-
- - - - - - recorded_at: Tue, 03 May 2022 23:02:51 GMT -recorded_with: VCR 6.1.0 + string: !binary |- + PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9J3V0Zi04Jz4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPG1ldGEgbmFtZT0icmVmZXJyZXIiIGNvbnRlbnQ9Im5vLXJlZmVycmVyIj4KICAgIDxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy5tb2toYW4uY2EvIj4KICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjE4MHgxODAiIGhyZWY9Ii9hcHBsZS10b3VjaC1pY29uLnBuZyI+CjxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iMzJ4MzIiIGhyZWY9Ii9mYXZpY29uLTMyeDMyLnBuZyI+CjxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iMTZ4MTYiIGhyZWY9Ii9mYXZpY29uLTE2eDE2LnBuZyI+CjxsaW5rIHJlbD0ibWFuaWZlc3QiIGhyZWY9Ii9zaXRlLndlYm1hbmlmZXN0Ij4KPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlQ29sb3IiIGNvbnRlbnQ9IiNkYTUzMmMiPgo8bWV0YSBuYW1lPSJ0aGVtZS1jb2xvciIgY29udGVudD0iI2ZmZmZmZiI+CgogICAgPCEtLSBCZWdpbiBKZWt5bGwgU0VPIHRhZyB2Mi41LjAgLS0+Cjx0aXRsZT5tbyBraGFuIHwgTXkgdGhvdWdodHMgYmVsb25nIHRvIG1lPC90aXRsZT4KPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJKZWt5bGwgdjMuOC41IiAvPgo8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9Im1vIGtoYW4iIC8+CjxtZXRhIG5hbWU9ImF1dGhvciIgY29udGVudD0ibW8iIC8+CjxtZXRhIHByb3BlcnR5PSJvZzpsb2NhbGUiIGNvbnRlbnQ9ImVuIiAvPgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iTXkgdGhvdWdodHMgYmVsb25nIHRvIG1lIiAvPgo8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9Ik15IHRob3VnaHRzIGJlbG9uZyB0byBtZSIgLz4KPGxpbmsgcmVsPSJjYW5vbmljYWwiIGhyZWY9Imh0dHBzOi8vd3d3Lm1va2hhbi5jYS8iIC8+CjxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vd3d3Lm1va2hhbi5jYS8iIC8+CjxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9Im1vIGtoYW4iIC8+CjxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CnsiQHR5cGUiOiJXZWJTaXRlIiwiaGVhZGxpbmUiOiJtbyBraGFuIiwidXJsIjoiaHR0cHM6Ly93d3cubW9raGFuLmNhLyIsInB1Ymxpc2hlciI6eyJAdHlwZSI6Ik9yZ2FuaXphdGlvbiIsImxvZ28iOnsiQHR5cGUiOiJJbWFnZU9iamVjdCIsInVybCI6Imh0dHBzOi8vd3d3Lm1va2hhbi5jYS9pbWFnZXMvYXZhdGFyLmpwZyJ9LCJuYW1lIjoibW8ifSwibmFtZSI6Im1vIGtoYW4iLCJhdXRob3IiOnsiQHR5cGUiOiJQZXJzb24iLCJuYW1lIjoibW8ifSwiZGVzY3JpcHRpb24iOiJNeSB0aG91Z2h0cyBiZWxvbmcgdG8gbWUiLCJAY29udGV4dCI6Imh0dHA6Ly9zY2hlbWEub3JnIn08L3NjcmlwdD4KPCEtLSBFbmQgSmVreWxsIFNFTyB0YWcgLS0+CgogICAgPGxpbmsgdHlwZT0iYXBwbGljYXRpb24vYXRvbSt4bWwiIHJlbD0iYWx0ZXJuYXRlIiBocmVmPSJodHRwczovL3d3dy5tb2toYW4uY2EvYXRvbS54bWwiIHRpdGxlPSJtbyBraGFuIiAvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBpbnRlZ3JpdHk9InNoYTI1Ni1oUVpaNmdpK3B5SXBZbzlsb1NiNDk1cFMwSzV6Y0JsUk54UHU4MGVDdUQ4PSIgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iL2Fzc2V0cy9zdHlsZS04NTA2NTllYTA4YmVhNzIyMjk2MjhmNjVhMTI2ZjhmNzlhNTJkMGFlNzM3MDE5NTEzNzEzZWVmMzQ3ODJiODNmLmNzcyI+CiAgICA8c2NyaXB0IHNyYz0iL2Fzc2V0cy9qcy9hcHBsaWNhdGlvbi5qcyIgYXN5bmM+PC9zY3JpcHQ+CiAgPHNjcmlwdCBhc3luYyBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0YWcvanM/aWQ9VUEtMjQyOTE4LTEiPjwvc2NyaXB0Pgo8L2hlYWQ+CiAgPGJvZHk+CiAgICA8bWFpbj4KICAgICAgPGEgaHJlZj0iI21haW5fY29udGVudCIgY2xhc3M9InNraXAiPlNraXAgdG8gY29udGVudDwvYT4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8c2VjdGlvbiBpZD0ibWFpbl9jb250ZW50Ij4KICAgICAgICAgIDxoMSBpZD0iaGktbXktbmFtZS1pcy1tbyI+SGksIG15IG5hbWUgaXMgPGNvZGUgY2xhc3M9ImhpZ2hsaWdodGVyLXJvdWdlIj5NbzwvY29kZT48L2gxPgoKPHA+PHN0cm9uZz50bDtkcjwvc3Ryb25nPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vbW9raGFuLyI+R2l0SHViPC9hPiwgPGEgaHJlZj0iaHR0cHM6Ly9ydWJ5Z2Vtcy5vcmcvcHJvZmlsZXMvbW9raGEiPlJ1YnlHZW1zPC9hPiwgPGEgaHJlZj0iaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2luL21va2hhbmNhbGdhcnkiPkxpbmtlZEluPC9hPjwvcD4KCjxociAvPgoKPHA+SSDimaUgPGEgaHJlZj0iaHR0cHM6Ly93d3cucnVieS1sYW5nLm9yZy8iPlJ1Ynk8L2E+LiBJdOKAmXMgYSB2ZXJ5IGZ1biBhbmQKZXhwcmVzc2l2ZSBwcm9ncmFtbWluZyBsYW5ndWFnZS48L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1ydWJ5IGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9ImMxIj4jIG1vby5yYjwvc3Bhbj4KPHNwYW4gY2xhc3M9Im5iIj5yZXF1aXJlPC9zcGFuPiA8c3BhbiBjbGFzcz0iczEiPididW5kbGVyL2lubGluZSc8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyDjgoIgcnVieSBtb28ucmI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYzEiPiMgICAtLS0tPC9zcGFuPgo8c3BhbiBjbGFzcz0ibiI+Z2VtZmlsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImsiPmRvPC9zcGFuPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAmbHQ7IG1vbyEgJmd0Ozwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibiI+c291cmNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iczEiPidodHRwczovL3J1YnlnZW1zLm9yZyc8L3NwYW4+ICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICAgLS0tLTwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibiI+Z2VtPC9zcGFuPiA8c3BhbiBjbGFzcz0iczEiPiduZXQtaGlwcGllJzwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICAgICAgICAgXCAgIF5fX148L3NwYW4+CjxzcGFuIGNsYXNzPSJrIj5lbmQ8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAgICAgICAgICBcICAob28pXF9fX19fX188L3NwYW4+CjxzcGFuIGNsYXNzPSJuIj5jbGllbnQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0ibm8iPk5ldDwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ojo8L3NwYW4+PHNwYW4gY2xhc3M9Im5vIj5IaXBwaWU8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPjo6PC9zcGFuPjxzcGFuIGNsYXNzPSJubyI+Q2xpZW50PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4uPC9zcGFuPjxzcGFuIGNsYXNzPSJuZiI+bmV3PC9zcGFuPiAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICAgICAgICAgICAgIChfXylcICAgICAgIClcL1w8L3NwYW4+CjxzcGFuIGNsYXNzPSJuIj51cmw8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0iczIiPiJodHRwczovL3d3dy5tb2toYW4uY2EvIjwvc3Bhbj4gICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICAgICAgICAgICAgICAgICB8fC0tLS13IHw8L3NwYW4+CjxzcGFuIGNsYXNzPSJuIj5ib2R5PC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmNsaWVudDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0ibmYiPmdldDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+dXJsPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4pLjwvc3Bhbj48c3BhbiBjbGFzcz0ibmYiPmJvZHk8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAgICAgICAgICAgICAgICAgfHwgICAgIHx8PC9zcGFuPgo8c3BhbiBjbGFzcz0ibmIiPnB1dHM8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5ib2R5PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4tPC9zcGFuPjxzcGFuIGNsYXNzPSJtaSI+MTUwPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4uLi08L3NwYW4+PHNwYW4gY2xhc3M9Im1pIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj5dPC9zcGFuPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAtLSZndDs8L3NwYW4+Cgo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo8cD5JIHdyb3RlIDxhIGhyZWY9Imh0dHBzOi8vcnVieWdlbXMub3JnL2dlbXMvc2FtbC1raXQiPnNhbWwta2l0PC9hPiwKPGEgaHJlZj0iaHR0cHM6Ly9ydWJ5Z2Vtcy5vcmcvZ2Vtcy9uZXQtaGlwcGllIj5uZXQtaGlwcGllPC9hPiwKPGEgaHJlZj0iaHR0cHM6Ly9ydWJ5Z2Vtcy5vcmcvZ2Vtcy9pbmNvZ25pdG8iPmluY29nbml0bzwvYT4sCjxhIGhyZWY9Imh0dHBzOi8vcnVieWdlbXMub3JnL2dlbXMveHNheSI+eHNheTwvYT4sCjxhIGhyZWY9Imh0dHBzOi8vcnVieWdlbXMub3JnL2dlbXMvZGVsIj5kZWw8L2E+IGFuZCBtYW55IG1vcmUgZ2Vtcy48L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1ydWJ5IGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9ImMxIj4jIS9iaW4vc2g8L3NwYW4+CjxzcGFuIGNsYXNzPSJuIj5nZW08L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5pbnN0YWxsPC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+eHNheTwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYzEiPiMg44KCIHhzYXkgcmFuZG9tIEhlbGxvPC9zcGFuPgo8c3BhbiBjbGFzcz0ibiI+eHNheTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPnJhbmRvbTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5vIj5IZWxsbzwvc3Bhbj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAgIC0tLS0tPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICZsdDsgSGVsbG8gJmd0Ozwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAgIC0tLS0tPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICAgICAgIC4iYCIuPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICAgLi0uLyBfPV8gXC4tLjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAgeyAgKCwob1lvKSwpICB9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICB7ICB8ICAgIiAgIHwgIH08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYzEiPiMgIHsgeyBcKC0tLSkvIH0gfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAgeyB7IH0nLT0tJ3sgfSB9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICB7IHsgfS5fOl8ueyB9IH08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYzEiPiMgIHsgeyB9IC06LSB7IH0gfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+IyAge197IH1gPT09YHsgIF99PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4jICgoKChcKSAgICAgKC8pKSkpPC9zcGFuPgoKPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKICAgICAgICAgIDxociAvPgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgPC9kaXY+CiAgICA8L21haW4+CiAgICA8Zm9vdGVyPgogICAgICA8aW1nIGNsYXNzPSJjZW50ZXIiIGludGVncml0eT0ic2hhMjU2LTBPT3hnZWltSUpsbnNUUGs1aW8zbUZPUzA4aEVXdlhad0dSSndIa2JwWWs9IiBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Ii9hc3NldHMvMWIyNjQ3LTFkYzFlOTQwZWI0YjJkNDJlZWFhOGNjYjRiZGYxMzY1YzdkMmY3MmFmYzkzMGNmZjgxOTJkYzU1M2M3ZTFiNDMuanBnIj4KICAgICAgPHAgY2xhc3M9InRleHQtY2VudGVyIj5NeSB0aG91Z2h0cyBiZWxvbmcgdG8gbWU8YSBocmVmPSIv4p2k77iPLmh0bWwiIGNsYXNzPSJjYXRlZ29yeSI+LjwvYT48L3A+CiAgICAgIDxwIGNsYXNzPSJ0ZXh0LWNlbnRlciI+CiAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL21va2hhbi8iPkdpdEh1YjwvYT4gfAogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcnVieWdlbXMub3JnL3Byb2ZpbGVzL21va2hhIj5SdWJ5R2VtczwvYT4gfAogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9pbi9tb2toYW5jYWxnYXJ5Ij5MaW5rZWRJbjwvYT4KICAgICAgPC9wPgogICAgICA8cCBjbGFzcz0idGV4dC1jZW50ZXIiPgogICAgICAgICZjb3B5OyAyMDA1LTIwMTgKICAgICAgICBtbyBbYXRdIG1va2hhbiBbZG90XSBjYQogICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lm1va2hhbi5jYSI+d3d3Lm1va2hhbi5jYTwvYT4KICAgICAgPC9wPgogICAgPC9mb290ZXI+CiAgPHNjcmlwdD4KICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsKICBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9CiAgZ3RhZygnanMnLCBuZXcgRGF0ZSgpKTsKICBndGFnKCdjb25maWcnLCAnVUEtMjQyOTE4LTEnLCB7CiAgICAncGFnZV90aXRsZSc6ICdtbyBraGFuJywKICAgICdwYWdlX2xvY2F0aW9uJzogJ2h0dHBzOi8vd3d3Lm1va2hhbi5jYS8nLAogICAgJ3BhZ2VfcGF0aCc6ICcvJywKICAgICdhbm9ueW1pemVfaXAnOiB0cnVlLAogIH0pOwo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+CjwhLS0KIF9fX19fCjwgbW9vID4KIC0tLS0tCiAgICAgICAgXCAgIF5fX14KICAgICAgICAgXCAgKG9vKVxfX19fX19fCiAgICAgICAgICAgIChfXylcICAgICAgIClcL1wKICAgICAgICAgICAgICAgIHx8LS0tLXcgfAogICAgICAgICAgICAgICAgfHwgICAgIHx8Ci0tPgoK + http_version: + recorded_at: Wed, 06 Feb 2019 17:45:16 GMT +recorded_with: VCR 4.0.0 diff --git a/test/net/client_test.rb b/test/net/client_test.rb index eee08dd..45ea419 100644 --- a/test/net/client_test.rb +++ b/test/net/client_test.rb @@ -3,8 +3,7 @@ require 'test_helper' class ClientTest < Minitest::Test attr_reader :subject - def initialize(*args) - super + def setup @subject = Net::Hippie::Client.new end @@ -304,25 +303,18 @@ class ClientTest < Minitest::Test assert(@called) end - def test_debug_output_not_set_by_default - VCR.use_cassette('get_root') do - client = Net::Hippie::Client.new(logger: StringIO.new) - uri = URI.parse('https://www.mokhan.ca') - client.get(uri, headers: {}) - subject = client.logger - subject.rewind - assert_empty subject.read - end - end + def test_logger + VCR.turned_off do + WebMock.allow_net_connect! + StringIO.open do |io| + subject = Net::Hippie::Client.new(logger: Logger.new(io, level: :debug)) + response = subject.get('https://www.example.org/') - def test_debug_output_can_be_sent_to_logger - VCR.use_cassette('get_root') do - client = Net::Hippie::Client.new(logger: StringIO.new, enable_debug_output: true) - uri = URI.parse('https://www.mokhan.ca') - client.get(uri, headers: {}) - subject = client.logger - subject.rewind - assert_match %r{^(opening connection to www.mokhan.ca:443)}, subject.read + refute_nil response + assert_kind_of Net::HTTPOK, response + io.rewind + assert_match %r{^(opening connection to www.example.org:443)}, io.read + end end end end diff --git a/test/test_helper.rb b/test/test_helper.rb index a645fac..9971d92 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -6,8 +6,7 @@ require 'net/hippie' require 'securerandom' require 'vcr' require 'webmock' - -Net::Hippie.logger = ENV['CIBUILD'] ? Logger.new('/dev/null') : Logger.new(STDERR) +require 'webmock/minitest' VCR.configure do |config| config.cassette_library_dir = 'test/fixtures' -- cgit v1.2.3 From fa7f73e279848416293efcb9a0c786bb8911836b Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 5 Dec 2024 16:38:12 -0700 Subject: chore: run test job for newer versions of Ruby --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 23dde06..56b9cb8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ruby-version: ['2.5', '2.6', '2.7', '3.0'] + ruby-version: ['2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3', '3.4'] steps: - uses: actions/checkout@v2 - name: Set up Ruby @@ -25,7 +25,7 @@ jobs: - uses: actions/checkout@v2 - uses: ruby/setup-ruby@v1 with: - ruby-version: '3.0' + ruby-version: '3.4' bundler-cache: true - name: Running style checks… run: sh bin/style -- cgit v1.2.3 From 2d5bb78ec2f3956bea779dbade46d5e5b0901282 Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 5 Dec 2024 16:42:31 -0700 Subject: chore: fix workflow badge image --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f3ace91..42db8dd 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Net::Hippie [![Gem Version](https://badge.fury.io/rb/net-hippie.svg)](https://rubygems.org/gems/net-hippie) -[![Build Status](https://github.com/xlgmokha/net-hippie/workflows/Test/badge.svg)](https://github.com/xlgmokha/net-hippie/actions) +![Build Status](https://github.com/xlgmokha/net-hippie/actions/workflows/ci.yml/badge.svg) `Net::Hippie` is a light weight wrapper around `net/http` that defaults to sending `JSON` messages. -- cgit v1.2.3 From 4a3ef35ec93a0bf1395a98c87b1e1c269140114c Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 5 Dec 2024 16:43:41 -0700 Subject: chore: fix build status link --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 42db8dd..9307ca9 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,8 @@ # Net::Hippie [![Gem Version](https://badge.fury.io/rb/net-hippie.svg)](https://rubygems.org/gems/net-hippie) -![Build Status](https://github.com/xlgmokha/net-hippie/actions/workflows/ci.yml/badge.svg) +[![Build Status](https://github.com/xlgmokha/net-hippie/actions/workflows/ci.yml/badge.svg))](https://github.com/xlgmokha/net-hippie/actions) + `Net::Hippie` is a light weight wrapper around `net/http` that defaults to sending `JSON` messages. -- cgit v1.2.3 From 64d2ae8adf99ff5b3b139cb6794b2e31a74037a8 Mon Sep 17 00:00:00 2001 From: mo khan Date: Wed, 19 Feb 2025 15:07:33 -0700 Subject: chore: add explicit dependency on stdlib gems --- CHANGELOG.md | 8 +++++++- lib/net/hippie/version.rb | 2 +- net-hippie.gemspec | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c58c596..4b82243 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -Version 1.2.0 +Version 1.2.1 # Changelog All notable changes to this project will be documented in this file. @@ -7,6 +7,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Fixed +- Add explicit dependency on `base64` gem +- Add explicit dependency on `json` gem +- Add explicit dependency on `net-http` gem +- Add explicit dependency on `openss` gem + ## [1.2.0] - 2024-12-05 ### Changed - Disable logger by default diff --git a/lib/net/hippie/version.rb b/lib/net/hippie/version.rb index 938891e..3f4bc0a 100644 --- a/lib/net/hippie/version.rb +++ b/lib/net/hippie/version.rb @@ -2,6 +2,6 @@ module Net module Hippie - VERSION = '1.2.0' + VERSION = '1.2.1' end end diff --git a/net-hippie.gemspec b/net-hippie.gemspec index e391ff6..dcdef48 100644 --- a/net-hippie.gemspec +++ b/net-hippie.gemspec @@ -27,7 +27,11 @@ Gem::Specification.new do |spec| spec.require_paths = ['lib'] spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0') + spec.add_dependency 'base64', '~> 0.1' + spec.add_dependency 'json', '~> 2.0' spec.add_dependency 'logger', '~> 1.0' + spec.add_dependency 'net-http', '~> 0.6' + spec.add_dependency 'openssl', '~> 3.0' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rubocop', '~> 1.9' -- cgit v1.2.3 From 018b3475a65121cb62158320d9b9090fbfeb2b76 Mon Sep 17 00:00:00 2001 From: mo khan Date: Wed, 30 Apr 2025 16:19:44 -0600 Subject: docs: fix typo in changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b82243..843597a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add explicit dependency on `base64` gem - Add explicit dependency on `json` gem - Add explicit dependency on `net-http` gem -- Add explicit dependency on `openss` gem +- Add explicit dependency on `openssl` gem ## [1.2.0] - 2024-12-05 ### Changed -- cgit v1.2.3 From e0f1a7c92494e5b53a65fde9d973fbcc8e0a5b04 Mon Sep 17 00:00:00 2001 From: mo khan Date: Wed, 30 Apr 2025 16:22:26 -0600 Subject: docs: prepare changelog for v1.2.1 --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 843597a..1566784 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] + +## [1.2.1] - 2025-04-30 ### Fixed - Add explicit dependency on `base64` gem - Add explicit dependency on `json` gem @@ -90,7 +92,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - with\_retry. - authorization header helpers -[Unreleased]: https://github.com/xlgmokha/net-hippie/compare/v1.2.0...HEAD +[Unreleased]: https://github.com/xlgmokha/net-hippie/compare/v1.2.1...HEAD +[1.2.1]: https://github.com/xlgmokha/net-hippie/compare/v1.2.0...v1.2.1 [1.2.0]: https://github.com/xlgmokha/net-hippie/compare/v1.1.1...v1.2.0 [1.1.1]: https://github.com/xlgmokha/net-hippie/compare/v1.1.0...v1.1.1 [1.1.0]: https://github.com/xlgmokha/net-hippie/compare/v1.0.1...v1.1.0 -- cgit v1.2.3 From 58d4e9be69cf5fbc951bc63858ac899dded47bee Mon Sep 17 00:00:00 2001 From: mo khan Date: Wed, 30 Apr 2025 16:38:56 -0600 Subject: feat: change minimum ruby to 3.2 --- .github/workflows/ci.yml | 2 +- .rubocop.yml | 8 +++++++- CHANGELOG.md | 11 +++++++---- lib/net/hippie/version.rb | 2 +- net-hippie.gemspec | 2 +- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 56b9cb8..2371b82 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ruby-version: ['2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3', '3.4'] + ruby-version: ['3.2', '3.3', '3.4'] steps: - uses: actions/checkout@v2 - name: Set up Ruby diff --git a/.rubocop.yml b/.rubocop.yml index ab18da2..5e336fb 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -6,7 +6,7 @@ AllCops: - 'tmp/**/*' - 'vendor/**/*' NewCops: enable - TargetRubyVersion: 2.5 + TargetRubyVersion: 3.2 Gemspec/DevelopmentDependencies: EnforcedStyle: gemspec @@ -14,5 +14,11 @@ Gemspec/DevelopmentDependencies: Layout/ParameterAlignment: EnforcedStyle: with_fixed_indentation +Naming/BlockForwarding: + Enabled: false + Naming/RescuedExceptionsVariableName: PreferredName: error + +Style/ArgumentsForwarding: + Enabled: false diff --git a/CHANGELOG.md b/CHANGELOG.md index 1566784..bb1ede0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -Version 1.2.1 +Version 1.3.0 # Changelog All notable changes to this project will be documented in this file. @@ -8,7 +8,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## [1.2.1] - 2025-04-30 +## [1.3.0] - 2025-04-30 +### Changed +- Ruby 2.3+ required + ### Fixed - Add explicit dependency on `base64` gem - Add explicit dependency on `json` gem @@ -92,8 +95,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - with\_retry. - authorization header helpers -[Unreleased]: https://github.com/xlgmokha/net-hippie/compare/v1.2.1...HEAD -[1.2.1]: https://github.com/xlgmokha/net-hippie/compare/v1.2.0...v1.2.1 +[Unreleased]: https://github.com/xlgmokha/net-hippie/compare/v1.3.0...HEAD +[1.3.0]: https://github.com/xlgmokha/net-hippie/compare/v1.2.0...v1.3.0 [1.2.0]: https://github.com/xlgmokha/net-hippie/compare/v1.1.1...v1.2.0 [1.1.1]: https://github.com/xlgmokha/net-hippie/compare/v1.1.0...v1.1.1 [1.1.0]: https://github.com/xlgmokha/net-hippie/compare/v1.0.1...v1.1.0 diff --git a/lib/net/hippie/version.rb b/lib/net/hippie/version.rb index 3f4bc0a..07de45b 100644 --- a/lib/net/hippie/version.rb +++ b/lib/net/hippie/version.rb @@ -2,6 +2,6 @@ module Net module Hippie - VERSION = '1.2.1' + VERSION = '1.3.0' end end diff --git a/net-hippie.gemspec b/net-hippie.gemspec index dcdef48..c1e949a 100644 --- a/net-hippie.gemspec +++ b/net-hippie.gemspec @@ -25,7 +25,7 @@ Gem::Specification.new do |spec| spec.bindir = 'exe' spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ['lib'] - spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0') + spec.required_ruby_version = Gem::Requirement.new('>= 3.2.0') spec.add_dependency 'base64', '~> 0.1' spec.add_dependency 'json', '~> 2.0' -- cgit v1.2.3