回上一頁

使用Ruby寫針對http header應用練習Services

近期遇到不少需要在header上處理的技巧,就練習寫了這一個基礎service架構,可以自己延伸開發各專案需求所需要的應用,練習把需要標頭放到header上,拿到自己要的東西。

主要就是建立一個 service/http_service.rb (檔名可以自己定義)

  
# 使用的require, 可依照自己需求增加
require 'net/http'

def initialize(url, headers, method)
  @method = method
  @url = url
  @headers = headers

  xxx_headers
end

def xxx_headers
   uri = URI.parse(@url)
   http = Net::HTTP.new(uri.host, uri.port)
   http.use_ssl = (uri.scheme == "https")
  
   request = Net::HTTP::Get.new(uri.request_uri)
  
   puts "把header標頭重要資訊送到這裡"
   request['Authorization'] = "Bearer #{@token}" if @token
   request['key'] = @key if @key
   request['secret'] = @secret if @secret
   request['user'] = @user if @user
   request['pwd'] = @pwd if @pwd
   #request['token'] = @token if @token
  
   @headers.each do |key, value|
     request[key] = value
   end
  
   @response = http.request(request)
   @response.each_header.each_with_object({}) { |(k, v), hash| hash[k] = v }
end

# 下面這就依照需求,寫你要拿什麼..等等?
def set_body
  p @response.body
end

def set_photo
  # 這裡面取得需要api權限的圖片或檔案的邏輯...
end