278 Commits

Author SHA1 Message Date
ian%hixie.ch
f17db356a9 Fix it so HEAD requests actually work rather than Apache aborting due to 'incomplete headers'.
git-svn-id: svn://10.0.0.236/trunk@134090 18797224-902f-48f8-a5cc-f745e15eee43
2002-11-19 06:54:35 +00:00
ian%hixie.ch
96e303587d Move FileStrings and GenericOutputs to below the MySQL string datasource.
git-svn-id: svn://10.0.0.236/trunk@133538 18797224-902f-48f8-a5cc-f745e15eee43
2002-11-10 17:00:44 +00:00
ian%hixie.ch
410ecd247a Stop requiring that PLIF applications know about every last PLIF service in order to use PLIF. This will require a one-time change to every PLIF app's registerServices method, but will make future changes a lot easier.
git-svn-id: svn://10.0.0.236/trunk@133537 18797224-902f-48f8-a5cc-f745e15eee43
2002-11-10 16:39:09 +00:00
ian%hixie.ch
bf08137422 More debugging information, to make it easier to debug multiple PLIF-based projects that are outputting to the same error log.
git-svn-id: svn://10.0.0.236/trunk@133486 18797224-902f-48f8-a5cc-f745e15eee43
2002-11-09 15:26:41 +00:00
ian%hixie.ch
124d766c7e Adding more debug code to make my life easier.
git-svn-id: svn://10.0.0.236/trunk@132909 18797224-902f-48f8-a5cc-f745e15eee43
2002-11-02 17:56:51 +00:00
ian%hixie.ch
b418373042 Two new filters (substr and acronymise), plus renaming uri_parameter to uriparameter to be consistent with the other filters
git-svn-id: svn://10.0.0.236/trunk@132567 18797224-902f-48f8-a5cc-f745e15eee43
2002-10-26 22:43:01 +00:00
ian%hixie.ch
8d08b85de3 Switch to a template-based stylesheet.
git-svn-id: svn://10.0.0.236/trunk@132011 18797224-902f-48f8-a5cc-f745e15eee43
2002-10-15 04:40:26 +00:00
ian%hixie.ch
9dcaf51736 Add support for post-processing output filters. Also, some minor clean-up.
git-svn-id: svn://10.0.0.236/trunk@131274 18797224-902f-48f8-a5cc-f745e15eee43
2002-10-06 22:08:32 +00:00
ian%hixie.ch
6345ac6027 HTTP HEAD support (unfortunately Apache screws it up, but theoretically this should work, I think...)
git-svn-id: svn://10.0.0.236/trunk@131273 18797224-902f-48f8-a5cc-f745e15eee43
2002-10-06 22:06:51 +00:00
ian%hixie.ch
8158886354 Typo: colon should be dot to be consistent with everything else in PLIF.
git-svn-id: svn://10.0.0.236/trunk@130060 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-19 18:23:36 +00:00
ian%hixie.ch
2f4fbdd7ef Form submission cleanup: use ./ instead of blank actions, since some UAs leave the query string on POSTs with blank actions. Also switch some GETs to POSTs since we now support them.
git-svn-id: svn://10.0.0.236/trunk@129609 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-14 13:07:18 +00:00
ian%hixie.ch
68af41123b Add more debugging output to core parts of the run loop.
git-svn-id: svn://10.0.0.236/trunk@129607 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-14 12:47:02 +00:00
ian%hixie.ch
5b9fb951d2 The 'acknowledge' string could be used for more than blank requests.
git-svn-id: svn://10.0.0.236/trunk@129606 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-14 12:46:16 +00:00
ian%hixie.ch
23f69d1be4 Implement a way for requests to include referrer information.
git-svn-id: svn://10.0.0.236/trunk@129605 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-14 12:45:26 +00:00
ian%hixie.ch
2a5ec84f5f To make debugging easier, move the level 9 output debugging dumps from failure cases in the datasources to always, in the generic output service. May need further tweaking later.
git-svn-id: svn://10.0.0.236/trunk@129333 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-12 11:45:17 +00:00
ian%hixie.ch
1a593fa3aa Adding a new way of executing database statements: attempt(). Works like execute() but doesn't raise an exception on failure. Check for failure by using the ResultsFrame's 'lastError' method.
git-svn-id: svn://10.0.0.236/trunk@129332 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-12 11:44:07 +00:00
ian%hixie.ch
e13d023ded Add two new filters: One for theoretically valid URIs, and one for strings being embedded _into_ URIs. Note that the first overrides the Template::Filters version since that version is arguably incorrect.
git-svn-id: svn://10.0.0.236/trunk@129285 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-11 23:11:43 +00:00
ian%hixie.ch
ff7c38cadd Changing 'HTTP/1.1' to 'Status:' since we're now in a non-nph environment.
git-svn-id: svn://10.0.0.236/trunk@129102 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-09 19:23:04 +00:00
ian%hixie.ch
8e236f1b21 More debugging information at high verbosity settings.
git-svn-id: svn://10.0.0.236/trunk@129101 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-09 19:22:10 +00:00
ian%hixie.ch
e3a5eea588 Implementations should stop using nph- scripts now. (This may have more fallout.)
git-svn-id: svn://10.0.0.236/trunk@129088 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-09 15:38:05 +00:00
ian%hixie.ch
9240a71692 Return the HTTP headers as well in an array context.
git-svn-id: svn://10.0.0.236/trunk@129067 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-08 16:39:35 +00:00
ian%hixie.ch
2fa8882c28 Switch to using smart_encode, cos we are smart. Add support for <fault> in XML-RPC output to handle errors.
git-svn-id: svn://10.0.0.236/trunk@128949 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-06 10:37:17 +00:00
ian%hixie.ch
5e1e3ccbcd Add a comment to remind others of what I forgot... (that you probably need a propertyImpliedAccessAllowed to use methodMissing)
git-svn-id: svn://10.0.0.236/trunk@128935 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-06 02:01:48 +00:00
ian%hixie.ch
485d226748 Normalise the command argument so that we don't choke if it has a dot in it or something. (We don't always control what the command is, e.g. for XMLRPC.)
git-svn-id: svn://10.0.0.236/trunk@128934 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-06 02:00:26 +00:00
ian%hixie.ch
d1fe470c1a Silly typo: the constructor arguments don't go on the class, duh
git-svn-id: svn://10.0.0.236/trunk@128933 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-06 01:54:14 +00:00
ian%hixie.ch
7aa0440655 A wrapper around LWP::UserAgent and HTTP::Entities. (And maybe other things, in future.)
git-svn-id: svn://10.0.0.236/trunk@128909 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-05 21:16:24 +00:00
ian%hixie.ch
8425f7a31d Minor bug fixes: Make anonymous arguments start from 1 not 0; make a zero argument response have a response (a true boolean); make outputs with zero or one arguments be handled as outputs instead of implied property accesses.
git-svn-id: svn://10.0.0.236/trunk@128906 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-05 21:15:15 +00:00
ian%hixie.ch
350f9628a0 Add a generic output: acknowledge. Used when nothing is particularily required as a response, e.g. for a one-way XMLRPC call.
git-svn-id: svn://10.0.0.236/trunk@128904 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-05 21:05:33 +00:00
ian%hixie.ch
26b1d31c7e XML RPC support. This is all you need to turn a PLIF application into a PLIF application with XML RPC.
git-svn-id: svn://10.0.0.236/trunk@128882 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-05 17:04:03 +00:00
ian%hixie.ch
28f2ff42db Removing a few things which are now done or which will never be done.
git-svn-id: svn://10.0.0.236/trunk@128881 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-05 16:52:07 +00:00
ian%hixie.ch
9aa605e78a Missing newline in the output. This was causing some hickups for some UAs (perfectly understandably...)
git-svn-id: svn://10.0.0.236/trunk@128878 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-05 16:27:04 +00:00
ian%hixie.ch
d7a6f3eff3 Optimisation: move the importing of Template::Context to runtime.
git-svn-id: svn://10.0.0.236/trunk@128877 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-05 16:24:58 +00:00
ian%hixie.ch
22a0573c3d Untaint the statement as well as the values before handing them to the database, because some statements are made from tainted data. This should be made more secure at some point, because currently there's no checking of database statements.
git-svn-id: svn://10.0.0.236/trunk@128876 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-05 16:23:38 +00:00
ian%hixie.ch
b037aed215 Split the CGI input module into one module per method and Content-Type. In the process, added support for MIME multipart POST, so in theory we now support file upload too.
git-svn-id: svn://10.0.0.236/trunk@128875 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-05 16:18:38 +00:00
ian%hixie.ch
ce51553c6a Adding yet more layers to the output mechanism: now objects con hook in and do whatever they like to the output before it reaches the protocol (or generic) output service instance. Also, move the objects hash reset code to the end of the run loop so that an input device can add an object (before, the earliest you could add an object was the input verifier).
git-svn-id: svn://10.0.0.236/trunk@128874 18797224-902f-48f8-a5cc-f745e15eee43
2002-09-05 16:11:25 +00:00
ian%hixie.ch
4dcb11a39f Some minor code fixups with no semantic change. Also, fixed the getArgumentsAsString method to not screw up the output when there are empty arrays in the arguments hash (as can happen when you call createArgument, which happens when getArgument is called and the argument is missing) and when the arguments hash contains scalars.
git-svn-id: svn://10.0.0.236/trunk@125298 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 15:50:14 +00:00
ian%hixie.ch
690d2c0bef Add support for a command which does nothing but pass its argument to the output system. This is especially useful for templates that want to show other templates without actually doing anything else, and so the command is called 'showTemplate'.
git-svn-id: svn://10.0.0.236/trunk@125296 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-16 15:46:28 +00:00
ian%hixie.ch
656de70be3 Let's try a different tactic in a scalar context. If there's no data, return undef.
git-svn-id: svn://10.0.0.236/trunk@124739 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-07 15:42:57 +00:00
ian%hixie.ch
17e6ebaa70 Update the string data source to use the new input metadata APIs
git-svn-id: svn://10.0.0.236/trunk@124734 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-07 00:13:29 +00:00
ian%hixie.ch
0981f17395 Typo: adddress should be address. Doesn't make any particular difference to anything unless someone has already written automated installation scripts...
git-svn-id: svn://10.0.0.236/trunk@124729 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-06 17:59:10 +00:00
ian%hixie.ch
985fdefa99 Change the 'row' method of the ResultsFrame API to return an array in an array context, a hashref in a scalar context, and the value on its own if there is only one returned value. (Controversial change. This could introduce hard to spot regressions, and might be backed out at some point.)
git-svn-id: svn://10.0.0.236/trunk@124728 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-06 17:52:21 +00:00
ian%hixie.ch
87f64c60c5 Introduce the service.uaStringInterpreter.<protocol> service, which takes a UA string and splits it into name, version, manufacturer, platform and comment. This is the HTTP implementation of that service.
git-svn-id: svn://10.0.0.236/trunk@124727 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-06 17:49:22 +00:00
ian%hixie.ch
ea199f9e7f Added the following filters to the Template Toolkit toolbox: htmlcomment, xmlcomment, xml, cdata, htmljs, js, css. Added support for named [% BLOCK %], which had been removed when the template processing code was overridden.
git-svn-id: svn://10.0.0.236/trunk@124726 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-06 16:14:58 +00:00
ian%hixie.ch
a741fa90cd Remove XXX comment about needing an API to enable or disable UI elements, since that need has disappeared now that we use provide that information reliably in the user object. Also split a long line into two for no particular reason.
git-svn-id: svn://10.0.0.236/trunk@124725 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-06 16:12:42 +00:00
ian%hixie.ch
d829df69c0 Changed the default handling of the generic output module. Now, if there's no generic dispatcher for an output command, it'll effectively synthesise one on the fly, using the method name as the string name and the arguments as an array of values for a 'data' variable. This means that applications can skip out on implementing a generic dispatcher now. Anyone using strings with dot separators (i.e. anyone writing libraries) still need to have generic output dispatcher methods though, to map the method call to a string name.
git-svn-id: svn://10.0.0.236/trunk@124724 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-06 16:05:48 +00:00
ian%hixie.ch
d56912f37e Made the SMTP 'timeout' value configurable at setup time (defaults to 5 seconds)
git-svn-id: svn://10.0.0.236/trunk@124723 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-06 16:02:07 +00:00
ian%hixie.ch
f436c3ecbc Implement getArgumentsTree(), which returns a hash tree representing the first value of each unique argument name in a branch, using dots as the separator. Finally replaced the hardcoded non-extensible meta data stuff with a proper getMetaData() API. Implemented that in the various Input modules. Renamed 'parameter' to 'property' in the CGI Input module. Added '--batch-force-defaults' as an argument handled by the CommandLine Input module. Made CommandLine derive from Default instead of Arguments, so that it can pick up the default handling of metadata and default output protocol.
git-svn-id: svn://10.0.0.236/trunk@124722 18797224-902f-48f8-a5cc-f745e15eee43
2002-07-06 15:59:56 +00:00
ian%hixie.ch
f3e5816d55 Update to TemplateToolkit format
git-svn-id: svn://10.0.0.236/trunk@124378 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-30 21:35:27 +00:00
ian%hixie.ch
58bb3b645b Include character set information in the HTTP headers
git-svn-id: svn://10.0.0.236/trunk@124377 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-30 21:34:57 +00:00
ian%hixie.ch
69bf58fca3 HTTP needs RFC822 dates for its Date: line
git-svn-id: svn://10.0.0.236/trunk@124376 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-30 21:33:21 +00:00