์ต๊ทผ์ HTTP ์ ๋ํด ์๊ฒ ๋ ์ผ๋ช HTTP.rb . Ruby๋ฅผ ์ํ ๋ ๋ค๋ฅธ HTTP ํด๋ผ์ด์ธํธ์ด์ง๋ง ๊ฝค ๊น๋ํ ๊ฒ ๊ฐ์ต๋๋ค.
Faraday์ ์ด๋ํฐ๊ฐ ์๋ค๋ฉด ๋ฉ์ง ๊ฒ์ ๋๋ค.
๋๋ ๊ธฐ๊บผ์ด ๊ทธ๊ฒ์ ๋์ธ ์ํฅ์ด ์์ต๋๋ค. ์ฌ์ค, ๋๋ ๊ทธ๊ฒ์ ์ง์ ์์ฑํ๋ ๊ฒ์ ๊ณ ๋ คํ๊ณ ์์ต๋๋ค. ์์ํ๋ ค๋ฉด ๋ช ๊ฐ์ง ์ง์นจ๊ณผ ๋ค์ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ๋ง ์์ผ๋ฉด ๋ฉ๋๋ค.
@PandaWhisperer ๋ ์๋ ํ์ธ์. Faraday์ ๊ด์ฌ์ ๊ฐ์ ธ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
์ง๊ธ๊น์ง ์ด๋ํฐ๋ Faraday์ ๋ณด๊ด๋์๊ณ ํต์ฌ ํ์์ ์ ์ง ๊ด๋ฆฌ๋์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ด๋ก ์ธํด ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ๋ฐ์ํ์์ ๊นจ๋ฌ์์ผ๋ฏ๋ก ์ธ๋ถ๋ก ์ด๋ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
๋ด๊ฐ ์ ํธํ๋ ์๋ฃจ์
์ ์ ์ฉ gem(์: faraday-http
)์ ์ฌ์ฉํ๋ ๊ฒ์ด์ง๋ง ์ด๋ํฐ๊ฐ ํด๋ผ์ด์ธํธ gem ๋ด๋ถ์ ํตํฉ๋ ๊ฒฝ์ฐ(์: typhoeus
)๊ฐ ์์ต๋๋ค.
์ํ๋ ๊ฒ์ ์์ ๋กญ๊ฒ ์ ํํ ์ ์์ง๋ง ํด๋ผ์ด์ธํธ gem์ ๊ด๋ฆฌ์๊ฐ ์๋๋ผ๋ฉด ์ ์๊ฐ ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ฅ ์ข์ ์ต์
์
๋๋ค.
๊ตฌํ๊ณผ ๊ด๋ จํ์ฌ ์ต๊ทผ์ ๋ค๋ฅธ ์ด๋ํฐ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ช ๊ฐ์ง ์กฐ์ธ์ ํ์ต๋๋ค. #766์์ (์ด๋ํฐ ์ฝ๋์ ๋ํ ๋งํฌ์ ํจ๊ป) ์ฐพ์ ์ ์์ต๋๋ค.
๋๋ ๋ํ RSpec์ ์ฌ์ฉํ์ฌ ํ ์คํธ๋ฅผ ๋ค์ ์์ฑํ๋ ๊ณผ์ ์ ์์ผ๋ฉฐ ์ธ๋ถ gem์ด ํ ์คํธ ํ์ดํ๋ผ์ธ์ ํตํฉํ ์ ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค. ํ์ง๋ง ๊ทธ๊ฑด ๋จ๊ธฐ๊ฐ์ ์ผ์ด ์๋๋๋ค ๐
์ด ๋ชจ๋ ๊ฒ์ด ์ ์ฉํ๊ธฐ๋ฅผ ๋ฐ๋ผ์ง๋ง ๋ ํ์ํ ๊ฒ์ด ์์ผ๋ฉด ์๋ ค์ฃผ์ธ์ ๐!
์๋ ํ์ธ์ @iMacTia์ ๋๋ค. ๋๋ ์ฝ๊ฐ์ ์๊ฐ์ ๊ฐ๊ณ ๊ธฐ๋ณธ ์ด๋ํฐ๋ฅผ ํดํนํ์ต๋๋ค. ์ฌ๊ธฐ ์์ ํ ๋ฆฌํ์คํธ๋ฅผ ๋ณผ ์ ์์ต๋๋ค(๋ฉ์ธ ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ๋ณด๋ด์ง ์์์ต๋๋ค). ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ด ์ง์๋๊ณ ํ ์คํธ๋์์ต๋๋ค. ์ ์ ์๊ฐ์ ๋ด์ด ์๊ฒฌ์ ๋ณด๋ด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
์ฐธ๊ณ : ์ด๊ฒ์ ๋จ์ง ์ฌ๋ฏธ๋ฅผ ์ํ ๊ฒ์ด์๊ณ ์ง๊ธ์ ์ค์ ๋ก ํ์ํ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋๊ตฐ๊ฐ๊ฐ ๊ทธ๊ฒ์ ๋ณด์์ผ๋ก ํฌ์ฅํ๊ณ ์ถ๋ค๋ฉด LMK๋ฅผ ์ฌ์ฉํ์ญ์์ค.
@PandaWhisperer ๋ ์๋
ํ์ธ์. ์๊ฐ์ ๋ด์ด ์์
ํด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค!
์ฌ์ฉ ๋ดค๋๋ฐ PR์ด ์ข์ ์ถ๋ฐ์ ์ด ๋ ๊ฒ ๊ฐ์์ ๐
์ด๋ฏธ ์ง์ ํ๋ฏ์ด ํ์ฌ ๊ตฌํ์ด SSL ๋๋ ์์ถ์ ์ง์ํ๋์ง ์์ฌ์ค๋ฝ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฌ๊ฐ ์๊ฐ์ ์ฌ๋ฏธ๋ฅผ ์ํด ๊ฐ๋ฐ๋ ๊ฒ์ ๊ณ ๋ คํ๋ฉด ๊ฒฐ๊ณผ์ ๋ง์กฑํ ๊ฒ์
๋๋ค ๐
v1.0์ ์ ์ฒด ์์ด๋์ด๋ ์๋ก์ด ์ด๋ํฐ๋ฅผ ๋ง๋๋ ๊ณผ์ ์ ์์ฃผ ๊ฐ๋จํ๊ฒ ๋ง๋ค์ด ์ฌ๋ฌ๋ถ๊ณผ ๊ฐ์ ์ฌ๋๋ค(์ปค๋ฎค๋ํฐ!)์ด ํต์ฌ ํ์ ์ง์ ์ ์ผ๋ก ์์กดํ์ง ์๊ณ ๋ Faraday์ ๊ธฐ์ฌํ ์ ์๋๋ก ํ๋ ๊ฒ์
๋๋ค.
๊ทธ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ํ์ฌ ์งํ ์ค์ธ ์ค์ํ ์์
์ ํ
์คํธ๋ฅผ ๋จ์ํํ๊ณ ์ธ๋ถ ์ด๋ํฐ/๋ฏธ๋ค์จ์ด gem์์ ์คํํ ์ ์๋๋ก ํ๋ ๊ฒ์
๋๋ค.
์ ๋ ํ์ฌ ๊ทธ๊ฒ์ ์ง์คํ๊ณ ์์ผ๋ฉฐ ์ด ๋ถ๊ธฐ ์์ ์งํ ์ํฉ์ ๋ณผ ์ ์์ต๋๋ค.
์๋ฃ๋๊ณ ๋ณํฉ๋๋ฉด ์ด๋ํฐ๋ฅผ ํ ์คํธ ๋ฐ์คํฌ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ๐
์๋
ํ์ธ์ @PandaWhisperer ๐
๊ณ ํต์ค๋ฌ์ด ๋ช ๋ฌ๊ณผ ๋ง์ ๋ฆฌํฉํ ๋ง ๋์ 1.0์ ํ
์คํธ๊ฐ ์ด์ RSpec์ผ๋ก ๋ณํ๋์์ต๋๋ค ๐ !
๊ทธ ์ผํ์ผ๋ก ์ด๋ํฐ๊ฐ ์๋ํ๋ ๋ฐฉ์์ ์ค๋ช
ํ๋ "๊ณต์ ์์ " ์ธํธ๋ฅผ ๋ง๋ค์์ต๋๋ค.
๋ค์ ๋จ๊ณ๋ ํจ๋ฌ๋ฐ์ด ์ฝ์ด์ ๋ํด ๋ณ๊ฒฝ ์ฌํญ์ ํ ์คํธํ ์ ์๋๋ก ์ด๋ฌํ ํ ์คํธ๋ฅผ ์ธ๋ถ ๋ณด์์ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค.
์์ง HTTP ํด๋ผ์ด์ธํธ์์ ์์ ์ค์ด๊ณ ์๋ํด ๋ณด๊ณ ์ถ๋ค๋ฉด ์๋ ค์ฃผ์ธ์ ๐
@PandaWhisperer ์ด์ v1.0์ ๊ฐ๊น์์ง๊ณ ์์ผ๋ฉฐ ์ด๋ํฐ๋ ์ด์ ์์ฒด
๋๋ ๋น์ ์ด ์์ฑํ ์ด๋ํฐ์์ ๋ณด์์ ๋ง๋๋ ์์ ๋ฅผ ์ป์์ต๋๋ค. ์ฌ๊ธฐ์์ ์ฃผ์ PR์ ์ฐพ์ ์ ์์ต๋๋ค: https://github.com/lostisland/faraday-http/pull/1
์ด๊ฒ์ ๊ฐ๋ ์ฆ๋ช ์ผ ๋ฟ์ด์ง๋ง Faraday 1.0์ ์ฒซ ๋ฒ์งธ ๊ณต์ ์ธ๋ถ ์ด๋ํฐ๊ฐ ๋ ์๋ ์์ต๋๋ค โค๏ธ
์ฌ์ ํ ํด๋น ์ด๋ํฐ์ ๊ด์ฌ์ด ์๊ณ ์๊ฐ์ด ์๋ค๋ฉด ํด๋น ํ๋ก์ ํธ์ ๊ณต๋ ์์ ์๋ก ์ถ๊ฐํ์ฌ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ ์ง ๊ด๋ฆฌํ๊ณ ๊ฐ์ ํ ์ ์๋๋ก ํ๊ฒ ์ต๋๋ค.
@PandaWhisperer faraday-http
์ฒซ ๋ฒ์งธ ๋ฆด๋ฆฌ์ค๊ฐ ๋ง ์์๋์๊ณ ์๋
์ ์ฌ๋ฌ๋ถ์ ์์
๋๋ถ์ด์์ต๋๋ค: https://rubygems.org/gems/faraday-http ๐
์์ง ์ฌ์ฉ์ ๊ณํ ์ค์ด๊ณ ๊ด์ฌ์ด ์๋ ๊ฒฝ์ฐ ํด๋น ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ทํ๋ฅผ ๊ณต๋ ์์ ์๋ก ์ถ๊ฐํ๋ ๊ฒ์ ๋ํ ์ด๋๋ฅผ ๊ฐฑ์ ํ๊ณ ์ถ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@PandaWhisperer
faraday-http
์ฒซ ๋ฒ์งธ ๋ฆด๋ฆฌ์ค๊ฐ ๋ง ์์๋์๊ณ ์๋ ์ ์ฌ๋ฌ๋ถ์ ์์ ๋๋ถ์ด์์ต๋๋ค: https://rubygems.org/gems/faraday-http ๐์์ง ์ฌ์ฉ์ ๊ณํ ์ค์ด๊ณ ๊ด์ฌ์ด ์๋ ๊ฒฝ์ฐ ํด๋น ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ทํ๋ฅผ ๊ณต๋ ์์ ์๋ก ์ถ๊ฐํ๋ ๊ฒ์ ๋ํ ์ด๋๋ฅผ ๊ฐฑ์ ํ๊ณ ์ถ์ต๋๋ค.