Changeset 7155

Show
Ignore:
Timestamp:
02/26/08 09:20:33 (5 years ago)
Author:
mootoh
Message:

lang/ruby/tracba: parse request/construct response.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/ruby/tracba/server.rb

    r7151 r7155  
    66# 
    77require 'webrick' 
     8require 'rexml/document' 
    89 
    910module Tracba 
    1011  class TrackbackServlet < WEBrick::HTTPServlet::AbstractServlet 
     12    MOUNT_POINT = '/trackback/' 
     13 
    1114    def do_GET(req, res) 
    1215    end 
    1316 
    1417    def do_POST(req, res) 
    15       res.body = 'POST accepted' 
     18      # parse request 
     19      trackback_id = req.request_uri.path.sub(/^#{MOUNT_POINT}/, '') 
     20 
     21      q = req.query 
     22      title = q['title'] 
     23      excerpt = q['excerpt'] 
     24      url = q['url'] 
     25      blog_name = q['blog_name'] 
     26 
     27      # store trackback data into storage 
     28      # ... 
     29 
     30      # construct response 
     31      body = REXML::Document.new 
     32      body << REXML::XMLDecl.new('1.0', 'iso-8859-1') 
     33      rsp = body.add_element('response') 
     34      err = rsp.add_element('error') 
     35      err.add_text '0' 
     36 
     37      res.body = body.to_s 
    1638    end 
    1739  end # TrackbackServlet 
     
    2547end # Tracba 
    2648 
     49 
    2750server = Tracba::Server.new({ 
    2851  :DocumentRoot => '.', 
     
    3053}) 
    3154 
    32 server.mount('/trackback', Tracba::TrackbackServlet) 
     55server.mount(Tracba::TrackbackServlet::MOUNT_POINT, Tracba::TrackbackServlet) 
    3356 
    3457trap('INT') { server.shutdown }