Когда я подхожу к http://localhost: 3000 / api / swagger , я вижу в поле адреса do c http://api.webcrm.dev: 3000 / do c и, как результат, сообщение Can't read from server. It may not have the appropriate access-control-origin settings.
вместо конечных точек моего API и т. д. c.
Я пытаюсь найти правильный адрес, чтобы использовать его в localhost.
в консоли :
Settings.api
=> {"url_options"=>{"host"=>"api.webcrm.dev", "port"=>3000, "version"=>"/v1/"},
"swagger"=>{"discovery_url"=>{"host"=>"api.webcrm.dev", "port"=>3000, "path"=>"/doc"}}}
в application.yml :
api:
url_options:
host: api.webcrm.dev
port: 3000
version: /v1/
swagger:
discovery_url:
host: api.webcrm.dev
port: 3000
path: /doc
в config / initializers.010_swagger.rb :
GrapeSwaggerRails.options.url = Settings.api.swagger.discovery_url.path
GrapeSwaggerRails.options.app_url = "http://#{Settings.api.swagger.discovery_url.host}#{ ':' + Settings.api.swagger.discovery_url.port.to_s if Settings.api.swagger.discovery_url.port.present? }"
в rout.rb :
mount API => '/api' if ENV['ASSETS_PRECOMPILE'].blank?
mount GrapeSwaggerRails::Engine => '/api/swagger'
get '/api', to: redirect('/api/swagger')
Но в выводе журналов я вижу:
2020-02-19 12:11:07 +0700: HTTP parse error, malformed request (): #<Puma::HttpParserError: Invalid HTTP format, parsing fails.>
2020-02-19 12:11:07 +0700: ENV: {"rack.version"=>[1, 3], "rack.errors"=>#<IO:<STDERR>>, "rack.multithread"=>true, "rack.multiprocess"=>false, "rack.run_once"=>false, "SCRIPT_NAME"=>"", "QUERY_STRING"=>"", "SERVER_PROTOCOL"=>"HTTP/1.1", "SERVER_SOFTWARE"=>"puma 3.7.0 Snowy Sagebrush", "GATEWAY_INTERFACE"=>"CGI/1.2"}
---
Как найти правильный адрес документа и почему это не вводится автоматически? Большое спасибо за помощь!
PS:
Rails 4.2.11.1
ruby 2.3.8p459