d0903d434664baa9d71d5b9654088e9a808dd2fc
[catagits/HTTP-Body.git] / lib / HTTP / Body / XForms.pm
1 package HTTP::Body::XForms;
2
3 use strict;
4 use base 'HTTP::Body';
5 use bytes;
6
7 use File::Temp 0.14;
8
9 =head1 NAME
10
11 HTTP::Body::XForms - HTTP Body XForms Parser
12
13 =head1 SYNOPSIS
14
15     use HTTP::Body::XForms;
16
17 =head1 DESCRIPTION
18
19 HTTP Body XForms Parser. This module parses single part XForms
20 submissions, which are identifiable by the content-type
21 application/xml. The XML is stored unparsed on the parameter
22 XForms:Model.
23
24 =head1 METHODS
25
26 =over 4
27
28 =item spin
29
30 This method is overwrited to set the param XForms:Model with
31 the buffer content.
32
33 =cut
34
35 sub spin {
36     my $self = shift;
37
38     return unless $self->length == $self->content_length;
39
40     $self->body($self->{buffer});
41     $self->param( 'XForms:Model', $self->{buffer} );
42     $self->{buffer} = '';
43     $self->{state}  = 'done';
44
45     return $self->SUPER::init();
46 }
47
48 =back
49
50 =head1 SUPPORT
51
52 See L<HTTP::Body>
53
54 =head1 AUTHOR
55
56 Daniel Ruoso, C<daniel@ruoso.com>
57
58 =head1 LICENSE
59
60 This library is free software . You can redistribute it and/or modify 
61 it under the same terms as perl itself.
62
63 =cut
64
65 1;