richter 2004/10/31 06:17:27
Modified: . Changes.pod ep.h epio.c epmain.c
eg/web indexD.htm
test/cmp input.htm
test/html input.htm
Log:
finalize http request before cleanup
Revision Changes Path
1.253 +5 -7 embperl/Changes.pod
Index: Changes.pod
===================================================================
RCS file: /home/cvs/embperl/Changes.pod,v
retrieving revision 1.252
retrieving revision 1.253
diff -u -r1.252 -r1.253
--- Changes.pod 8 Oct 2004 07:55:03 -0000 1.252
+++ Changes.pod 31 Oct 2004 14:17:25 -0000 1.253
@@ -1,13 +1,11 @@
=pod
-=head1 2.0
-
- - Flush output to client, before cleanup runs.
+=head1 2.0
+
+ - Flush output to client and send final chuck, before cleanup runs.
- Fix compiler error when compiling with Perl 5.005.
-
-
-
-=head1 2.0rc1 24. August 2004
+
+=head1 2.0rc1 24. August 2004
- Addeded configuration directive Embperl_Object_Reqpath, which allows to
search serveral directories for the file of the initial request.
1.47 +1 -1 embperl/ep.h
Index: ep.h
===================================================================
RCS file: /home/cvs/embperl/ep.h,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- ep.h 4 Oct 2004 05:31:02 -0000 1.46
+++ ep.h 31 Oct 2004 14:17:25 -0000 1.47
@@ -330,7 +330,7 @@
int owrite (/*i/o*/ register req * r,
/*in*/ const void * ptr,
/*in*/ size_t size) ;
-void oflush (/*i/o*/ register req * r) ;
+void oflush (/*i/o*/ register req * r) ;
void oputc (/*i/o*/ register req * r,
/*in*/ char c) ;
int oputs (/*i/o*/ register req * r,
1.29 +39 -39 embperl/epio.c
Index: epio.c
===================================================================
RCS file: /home/cvs/embperl/epio.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- epio.c 4 Oct 2004 05:31:02 -0000 1.28
+++ epio.c 31 Oct 2004 14:17:25 -0000 1.29
@@ -926,48 +926,48 @@
return size ;
}
-#if defined (APACHE)
- if (r -> pApacheReq && r -> Component.pOutput -> ofd == NULL)
- {
- if (n > 0)
- {
- n = ap_rwrite (ptr, n, r -> pApacheReq) ;
- if (r -> Component.Config.bDebug & dbgFlushOutput)
- ap_rflush (r -> pApacheReq) ;
- return n ;
- }
- else
- return 0 ;
- }
-#endif
- if (n > 0 && r -> Component.pOutput -> ofd)
- {
- n = PerlIO_write (r -> Component.pOutput -> ofd, (void *)ptr, size) ;
-
- if (r -> Component.Config.bDebug & dbgFlushOutput)
- PerlIO_flush (r -> Component.pOutput -> ofd) ;
- }
-
- return n ;
- }
-
-
-/* ---------------------------------------------------------------------------- */
-/* */
-/* flush output */
-/* */
-/* ---------------------------------------------------------------------------- */
-
-void oflush (/*i/o*/ register req * r)
-
- {
- epTHX_
-
+#if defined (APACHE)
+ if (r -> pApacheReq && r -> Component.pOutput -> ofd == NULL)
+ {
+ if (n > 0)
+ {
+ n = ap_rwrite (ptr, n, r -> pApacheReq) ;
+ if (r -> Component.Config.bDebug & dbgFlushOutput)
+ ap_rflush (r -> pApacheReq) ;
+ return n ;
+ }
+ else
+ return 0 ;
+ }
+#endif
+ if (n > 0 && r -> Component.pOutput -> ofd)
+ {
+ n = PerlIO_write (r -> Component.pOutput -> ofd, (void *)ptr, size) ;
+
+ if (r -> Component.Config.bDebug & dbgFlushOutput)
+ PerlIO_flush (r -> Component.pOutput -> ofd) ;
+ }
+
+ return n ;
+ }
+
+
+/* ---------------------------------------------------------------------------- */
+/* */
+/* flush output */
+/* */
+/* ---------------------------------------------------------------------------- */
+
+void oflush (/*i/o*/ register req * r)
+
+ {
+ epTHX_
+
#if defined (APACHE)
if (r -> pApacheReq && r -> Component.pOutput -> ofd == NULL)
{
ap_rflush (r -> pApacheReq) ;
- return ;
+ return ;
}
#endif
if (r -> Component.pOutput -> ofd)
1.134 +8 -3 embperl/epmain.c
Index: epmain.c
===================================================================
RCS file: /home/cvs/embperl/epmain.c,v
retrieving revision 1.133
retrieving revision 1.134
diff -u -r1.133 -r1.134
--- epmain.c 4 Oct 2004 05:31:02 -0000 1.133
+++ epmain.c 31 Oct 2004 14:17:26 -0000 1.134
@@ -1153,8 +1153,13 @@
if (r -> Component.Param.pOutput)
return OutputToMem (r) ;
- rc = OutputToFile (r) ;
- oflush (r) ;
+ rc = OutputToFile (r) ;
+#ifdef APACHE
+ if (r -> pApacheReq)
+ ap_finalize_request_protocol (r -> pApacheReq) ;
+#endif
+ oflush (r) ;
+
return rc ;
}
1.3 +35 -26 embperl/eg/web/indexD.htm
Index: indexD.htm
===================================================================
RCS file: /home/cvs/embperl/eg/web/indexD.htm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- indexD.htm 22 Oct 2002 05:39:50 -0000 1.2
+++ indexD.htm 31 Oct 2004 14:17:27 -0000 1.3
@@ -1,42 +1,51 @@
-<p><b>Embperl</b> ist ein System zum Erstellen dynamischer Websites mit
<b>Perl</b>.</p>
+<p><b>Embperl</b> ist ein Werkzeug zum Erstellen dynamischer Websites mit
<b>Perl</b>.</p>
-<p>F�r den Anf�nger ist es ein einfacher Weg um dynamische Seiten
+<p>Dem Anf�nger erlaubt es auf einfache Art und Weise, dynamische Seiten
durch Einbetten von Perlcode in HTML zu erstellen.
-Es stellt verschiedenste Features f�r das Webumfeld zur Verf�gung, wei z.B.
-dynamischen Tabellen, Formularfeldverarbeitung, HTML/URL-Kodierung, Session
Handling,
+Es stellt vielfältige Features f�r das Webumfeld zur Verf�gung wie z.B.
+dynamische Tabellen, Formularfeldverarbeitung, HTML/URL-Kodierung, Session Handling,
Caching und mehr.</p>
-<p>Wenn die Anforderungen steigen erm�glicht es die Website objektorientiert,
-aus kleinen wiederverwendbaren Komponenten, aufzubauen. Wenn Sie Code und
-Layout nicht mixen wollen, unterst�tzt Sie Embperl, indem es erlaubt beides
-in verschiedene Objekte zu trennen (um z.B. MVC Applikationen zu bauen).
-Selbstverst�ndlich kann Embperl nicht nur HTML verarbeiten, sondern ist in der Lage
-Komponenten in verschiedenen Quellenformaten (z.B. HTML, WML, XML, POD, ...)
-zu bearbeiten und diese, soweit n�tig, in andere Ausgabeformate (z.B. via XSLT)
-zu transformieren. Dies wird dadurch erreicht, das die Ausgabeerzeugung in
+<p>Bei steigenden Anforderungen kann man Websites
+ objektorientiert, aus kleinen, wiederverwendbaren Komponenten, aufzubauen. Um
+ Code und Layout sauber zu trennen bietet <b>Embperl</b> die Möglichkeit,
beides
+in verschiedene Objekte aufzuteilen (um z.B. MVC Applikationen zu konstruieren).
+Selbstverst�ndlich kann <b>Embperl</b> nicht nur HTML verarbeiten sondern ist
+auch in der Lage, Komponenten in verschiedenen Quellenformaten (z.B. HTML, WML,
+XML,
+POD
+...)
+zu bearbeiten und diese bei Bedarf in andere Ausgabeformate (z.B.
+via
+XSLT) zu transformieren. Dies wird dadurch erreicht, dass die Ausgabeerzeugung
+in
kleine Schritte zerlegt wird, wovon jeder von einem austauschbaren Provider
bearbeitet wird.</p>
-<p>F�r fortgeschrittenen Anwender bietet Embperl weitere M�glichkeiten, wie
-das Erstellen von eigenen Grammatiken (z.b. Tag-Bibiliotheken) oder das
-schreiben von benutzerspezifischen Providern.</p>
+<p>F�r fortgeschrittene Anwender bietet <b>Embperl</b> weitergehende M�glichkeiten
+ wie
+das Erstellen von eigenen Grammatiken (z.B. Tag-Bibliotheken) oder das
+Schreiben von benutzerspezifischen Providern.</p>
-<p>Embperl l�uft auf dem <b>Webserver</b> ab und ist dadurch v�llig
browserunabh�ngig.
-Es kann dabei unter <a href="http://perl.apache.org/">mod_perl</a>,
+<p><b>Embperl</b> l�uft auf dem <b>Webserver</b> ab und ist dadurch v�llig
browserunabh�ngig.
+Es kann dabei unter <a href="http://perl.apache.org/" target="_blank">mod_perl</a>,
als CGI Skript oder Offline ausgef�hrt werden.</p>
-<p>Die <a href="pod/list/Features.htm">Liste der Features</a>
-und die <a href="pod/intro/">Einf�hrungsartikel</a> zur verschieden Aspekten und
Bereichen
-von Embperl geben eine weiteren �berblick �ber die M�glichkeiten.</p>
+<p>Die <a href="http://www.ecos.de/embperl/pod/list/Features.htm">Liste der
Features</a>
+und die <a href="http://www.ecos.de/embperl/pod/intro/">Einf�hrungsartikel</a> zur
verschiedenen Aspekten
+und Bereichen
+von Embperl geben einen weiteren �berblick �ber die Fülle an M�glichkeiten.</p>
-<p>Embperl wird durch die <a href="http://www.ecos.de/">ecos gmbh</a> entwickelt,
gepflegt und
-<a href="pod/doc/doc13/HTML/Embperl.-page-16-.htm#sect_80">supported</a>.
-Ideen, Anregungen, anderes Feedback und Patches sind jederzeit willkommen und
-sollten an die <a
href="pod/doc/doc13/HTML/Embperl.-page-16-.htm">Embperl-Mailingliste</a>
-geschickt werden.</p>
+<p><b>Embperl</b> wird durch die <a href="http://www.ecos.de/" target="_blank">ecos
+ gmbh</a> (www.ecos.de) entwickelt, gepflegt und
+<a
href="http://www.ecos.de/embperl/pod/doc/doc13/HTML/Embperl.-page-16-.htm#sect_80">supported</a>.
+Ideen, Anregungen, weiteres Feedback und Patches sind jederzeit willkommen und
+sollten an die <a
href="http://www.ecos.de/embperl/pod/doc/doc13/HTML/Embperl.-page-16-.htm">Embperl-Mailingliste</a>
+gesendet werden.</p>
-<p>Embperl darf sowohl unter <b>GPL</b>, wie auch unter der <b>Artistic License</b>
+<p><b>Embperl</b> darf sowohl unter <b>GPL</b>, wie auch unter der <b>Artistic
+ Licence</b>
weiterverbreitet werden. Es gelten die gleichen Lizenzbestimmungen
wie f�r Perl selbst (siehe Perl README Datei).</p>
1.20 +3 -3 embperl/test/cmp/input.htm
Index: input.htm
===================================================================
RCS file: /home/cvs/embperl/test/cmp/input.htm,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- input.htm 4 Oct 2004 05:37:16 -0000 1.19
+++ input.htm 31 Oct 2004 14:17:27 -0000 1.20
@@ -699,9 +699,9 @@
</tr>
</table>
- <select name="empty"></select>
-
-
+ <select name="empty"></select>
+
+
</form>
</body>
1.17 +6 -6 embperl/test/html/input.htm
Index: input.htm
===================================================================
RCS file: /home/cvs/embperl/test/html/input.htm,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- input.htm 4 Oct 2004 05:37:16 -0000 1.16
+++ input.htm 31 Oct 2004 14:17:27 -0000 1.17
@@ -393,12 +393,12 @@
</tr>
</table>
- [- @empty = () -]
- <select name="empty">
- <option value="[+ $empty[$row] +]">[+ $empty[$row] +]</option>
- </select>
-
-
+ [- @empty = () -]
+ <select name="empty">
+ <option value="[+ $empty[$row] +]">[+ $empty[$row] +]</option>
+ </select>
+
+
</form>
</body>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]