Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • методы, которые делают GET, POST и PUT запросы в бэкенд HOMS:
    • параметры, которые передаются в GET запросы должны задаваться в заголовке запроса;
    • параметры, которые задаются в POST и PUT запросы должны задаваться в тело запроса.

 

Code Block
      def get_request_bpm_backend(path, parameters = {})
        params = request_params(path).merge(
          method:  :get,
          headers: {
            params: parameters
          }
        )

        rest_rack_response(params)
      end

      def post_request_bpm_backend(path, parameters = {})
        params = request_params(path).merge(
          method:  :post,
          payload: parameters
        )

        rest_rack_response(params)
      end

      def put_request_bpm_backend(path, parameters = {})
        params = request_params(path).merge(
          method:  :put,
          payload: parameters
        )

        rest_rack_response(params)
      end

      private

      def rest_rack_response(params)
        response = RestClient::Request.execute(params)

        [response.code, response.headers, [response.body]]
      end

      def request_params(path)
        {
          url:      build_bpm_widget_path(path),
          user:     configuration[:login],
          password: configuration[:password]
        }
      end

 
      def build_bpm_widget_path(path = '')
        URI.join(configuration[:url], '/widget/', path).to_s
      end

...

Code Block
configuration: {
            url:      App[:config]['system']['hbw_url'],
            login:    App[:config]['system']['hbw_login'],
            password: App[:config]['system']['hbw_token']
}

 


  • метод, в котором ко всем параметрам запросов будут добавляться идентификатор пользователя

...