<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/web/entities.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,14 +1,17 @@
 dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
 require File.join(dir, 'web')
+require 'pp'
 config = YAML::load(File.read(File.join(ENV['HOME'], '.twitter')))
 
 class Twitter
   include Web
+  
   base_uri 'twitter.com'
+  format :xml
+  
+  entity :status
+  entity :user
 end
 
 Twitter.basic_auth config['email'], config['password']
-puts Twitter.get('/statuses/user_timeline.json')
-
-# puts Twitter.post('/direct_messages/new.xml', :query =&gt; {:user =&gt; 'jnunemaker', :text =&gt; 'Hello from Web'})
-# puts Twitter.response.code
\ No newline at end of file
+pp Twitter.get('/statuses/user_timeline.xml', :entity =&gt; :status)
\ No newline at end of file</diff>
      <filename>examples/twitter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,15 +1,21 @@
 require 'net/http'
 require 'net/https'
 require 'uri'
+require 'ostruct'
 require 'rubygems'
 require 'active_support'
 
 $:.unshift(File.dirname(__FILE__)) unless
   $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
 
+
+dir = File.expand_path(File.join(File.dirname(__FILE__), 'web'))
+require dir + '/entities'
+  
 module Web
   def self.included(base)
     base.extend ClassMethods
+    base.send(:include, Web::Entities)
   end
   
   module ClassMethods
@@ -73,8 +79,15 @@ module Web
         request.body = options[:body] unless options[:body].blank?
         request.initialize_http_header headers.merge(options[:headers] || {})
         request.basic_auth(@auth[:username], @auth[:password]) if @auth
-        @response = http.start() { |conn| conn.request(request) }
-        @response.body
+        @response    = http.start() { |conn| conn.request(request) }
+        
+        if !options[:entity] || options[:entity].blank?
+          @response.body
+        else
+          entity = @entities.detect { |e| e.name.to_s == options[:entity].to_s }
+          raise 'Entity not found' if entity.blank?
+          entity.parse(@response.body)
+        end
       end
     
       # Makes it so uri is sure to parse stuff like google.com with the http
@@ -82,7 +95,4 @@ module Web
         str =~ /^https?:\/\// ? str : &quot;http#{'s' if str.include?(':443')}://#{str}&quot;
       end
   end
-end
-
-dir = File.expand_path(File.join(File.dirname(__FILE__), 'web'))
-require dir + '/entity'
\ No newline at end of file
+end
\ No newline at end of file</diff>
      <filename>lib/web.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>8e1437850aa651e6ac423173de991bc54d77eaa1</id>
    </parent>
  </parents>
  <author>
    <name>John Nunemaker</name>
    <email>nunemaker@gmail.com</email>
  </author>
  <url>http://github.com/jnunemaker/httparty/commit/de9b4fb6baf02ced03db8893f8d5161ac61c91d8</url>
  <id>de9b4fb6baf02ced03db8893f8d5161ac61c91d8</id>
  <committed-date>2008-07-27T13:35:31-07:00</committed-date>
  <authored-date>2008-07-27T13:35:31-07:00</authored-date>
  <message>Put in first wave of parsing. Supports json and xml.</message>
  <tree>0e281acbf5dd670b8d22180ab49d1dd5ee65b45a</tree>
  <committer>
    <name>John Nunemaker</name>
    <email>nunemaker@gmail.com</email>
  </committer>
</commit>
