From e46cdbd6fc325ed39bde77487e86c3ed3cc1a1ef Mon Sep 17 00:00:00 2001 From: Martin Lensment Date: Wed, 18 Jun 2014 18:30:50 +0300 Subject: [PATCH] XML builder for generating xml response files, test dummy for epp --- README.md | 1 + app/controllers/epp/sessions_controller.rb | 11 ++++++++--- app/views/epp/sessions/greeting.xml.builder | 15 +++++++++++++++ app/views/epp/sessions/hello.xml | 17 ----------------- config/routes.rb | 4 ++-- spec/epp/session_spec.rb | 5 +++++ spec/session_spec.rb | 0 7 files changed, 31 insertions(+), 22 deletions(-) create mode 100644 app/views/epp/sessions/greeting.xml.builder delete mode 100644 app/views/epp/sessions/hello.xml create mode 100644 spec/epp/session_spec.rb create mode 100644 spec/session_spec.rb diff --git a/README.md b/README.md index debd42495..0752842d7 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,7 @@ Add: ``` +* `a2ensite epp` * `sudo service apache2 restart` Try it out: diff --git a/app/controllers/epp/sessions_controller.rb b/app/controllers/epp/sessions_controller.rb index 1380f0dea..468e8f167 100644 --- a/app/controllers/epp/sessions_controller.rb +++ b/app/controllers/epp/sessions_controller.rb @@ -1,9 +1,14 @@ class Epp::SessionsController < ApplicationController - def index - render 'hello' + protect_from_forgery with: :null_session + + def greeting; end + + def proxy + send(params[:command]) end - def create + private + def login render 'login' end end diff --git a/app/views/epp/sessions/greeting.xml.builder b/app/views/epp/sessions/greeting.xml.builder new file mode 100644 index 000000000..b397dc5f2 --- /dev/null +++ b/app/views/epp/sessions/greeting.xml.builder @@ -0,0 +1,15 @@ +xml.instruct! +xml.epp('xmlns' => 'urn:ietf:params:xml:ns:epp-1.0', 'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance', 'xsi:schemaLocation' => 'urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd') do + xml.svID 'EPP server (DSDng)' + xml.svDate '2014-06-18T17:46:59+03:00' + xml.version '1.0' + xml.lang 'en' + xml.lang 'cs' + xml.objURI 'http://www.nic.cz/xml/epp/contact-1.6' + xml.objURI 'http://www.nic.cz/xml/epp/domain-1.4' + xml.objURI 'http://www.nic.cz/xml/epp/nsset-1.2' + xml.objURI 'http://www.nic.cz/xml/epp/keyset-1.3' + xml.svcExtension do + xml.extURI 'http://www.nic.cz/xml/epp/enumval-1.2' + end +end diff --git a/app/views/epp/sessions/hello.xml b/app/views/epp/sessions/hello.xml deleted file mode 100644 index 9a7197822..000000000 --- a/app/views/epp/sessions/hello.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - Example mod_epp server - 2002-10-28T22:00:00.0Z - - 1.0 - en - - - diff --git a/config/routes.rb b/config/routes.rb index 61bd5014e..00446ca88 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,7 +1,7 @@ Rails.application.routes.draw do namespace(:epp) do - get 'session/:command', to: 'sessions#index', defaults: { format: :xml } - post 'session/:command', to: 'sessions#create', defaults: { format: :xml } + get 'session/hello', to: 'sessions#greeting', defaults: { format: :xml } + post 'session/:command', to: 'sessions#proxy', defaults: { format: :xml } end # The priority is based upon order of creation: first created -> highest priority. diff --git a/spec/epp/session_spec.rb b/spec/epp/session_spec.rb new file mode 100644 index 000000000..c2f32300b --- /dev/null +++ b/spec/epp/session_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +describe "EPP Session" do + it "greets client upon connection" +end diff --git a/spec/session_spec.rb b/spec/session_spec.rb new file mode 100644 index 000000000..e69de29bb