Sha256: ec84e9f16634a7e7d08696a057e5a423d1e7a78edb3f0576916230a59134e009
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
require 'crack/xml' require 'rest-client' module Embulk module Filter class AzureTranslatorApi < FilterPlugin class AzureTranslatorClient ENDPOINT_PREFIX = "https://api.microsofttranslator.com/v2/http.svc" AUTH_ENDPOINT_PREFIX = "https://api.cognitive.microsoft.com/sts/v1.0/issueToken" def self.get_authorization_token(subscription_key) RestClient.post AUTH_ENDPOINT_PREFIX, "", { params: { 'Subscription-Key' => subscription_key } } end def initialize(params: , authorization_token: , api_type:) uri_string = "#{ENDPOINT_PREFIX}/#{api_type}" @resource = RestClient::Resource.new uri_string @params = params @authorization_token = authorization_token end def translate_text(text) translate(text)['string'] end def translate(text) request(text) end def request(text) request_param = { text: text }.merge(@params) Embulk.logger.debug("request_param => #{request_param}") ::Crack::XML.parse( @resource.get( { Authorization: "Bearer #{@authorization_token}", params: request_param } ) ) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
embulk-filter-azure_translator_api-0.1.0 | lib/embulk/filter/azure_translator_api/azure_translator_client.rb |