Граф коммитов

261 Коммитов

Автор SHA1 Сообщение Дата
ian%hixie.ch 791866856a Changing 'HTTP/1.1' to 'Status:' since we're now in a non-nph environment. 2002-09-09 19:23:04 +00:00
ian%hixie.ch cae1696299 More debugging information at high verbosity settings. 2002-09-09 19:22:10 +00:00
ian%hixie.ch 2493903b1d Implementations should stop using nph- scripts now. (This may have more fallout.) 2002-09-09 15:38:05 +00:00
ian%hixie.ch 8ee8ff9e8b Return the HTTP headers as well in an array context. 2002-09-08 16:39:35 +00:00
ian%hixie.ch 6e7c01e16e Switch to using smart_encode, cos we are smart. Add support for <fault> in XML-RPC output to handle errors. 2002-09-06 10:37:17 +00:00
ian%hixie.ch 8091275c08 Add a comment to remind others of what I forgot... (that you probably need a propertyImpliedAccessAllowed to use methodMissing) 2002-09-06 02:01:48 +00:00
ian%hixie.ch 239d98ec13 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.) 2002-09-06 02:00:26 +00:00
ian%hixie.ch f865cddc1c Silly typo: the constructor arguments don't go on the class, duh 2002-09-06 01:54:14 +00:00
ian%hixie.ch 2a1af49e61 A wrapper around LWP::UserAgent and HTTP::Entities. (And maybe other things, in future.) 2002-09-05 21:16:24 +00:00
ian%hixie.ch 2c7166b3af 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. 2002-09-05 21:15:15 +00:00
ian%hixie.ch 3da4cfd8a2 Add a generic output: acknowledge. Used when nothing is particularily required as a response, e.g. for a one-way XMLRPC call. 2002-09-05 21:05:33 +00:00
ian%hixie.ch 6e682a075a XML RPC support. This is all you need to turn a PLIF application into a PLIF application with XML RPC. 2002-09-05 17:04:03 +00:00
ian%hixie.ch 533f6d4def Removing a few things which are now done or which will never be done. 2002-09-05 16:52:07 +00:00
ian%hixie.ch 8b10632835 Missing newline in the output. This was causing some hickups for some UAs (perfectly understandably...) 2002-09-05 16:27:04 +00:00
ian%hixie.ch ded9adb65d Optimisation: move the importing of Template::Context to runtime. 2002-09-05 16:24:58 +00:00
ian%hixie.ch 1998746fe3 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. 2002-09-05 16:23:38 +00:00
ian%hixie.ch e13d10f036 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. 2002-09-05 16:18:38 +00:00
ian%hixie.ch aa2d09d401 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). 2002-09-05 16:11:25 +00:00
ian%hixie.ch 8db0d6ded5 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. 2002-07-16 15:50:14 +00:00
ian%hixie.ch a35d045656 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'. 2002-07-16 15:46:28 +00:00
ian%hixie.ch 5a6c17d958 Let's try a different tactic in a scalar context. If there's no data, return undef. 2002-07-07 15:42:57 +00:00
ian%hixie.ch 299f260287 Update the string data source to use the new input metadata APIs 2002-07-07 00:13:29 +00:00
ian%hixie.ch 62165e7d5b Typo: adddress should be address. Doesn't make any particular difference to anything unless someone has already written automated installation scripts... 2002-07-06 17:59:10 +00:00
ian%hixie.ch 12d86e0428 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.) 2002-07-06 17:52:21 +00:00
ian%hixie.ch c5ff59c053 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. 2002-07-06 17:49:22 +00:00
ian%hixie.ch c931d0e91f 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. 2002-07-06 16:14:58 +00:00
ian%hixie.ch 67ff1ef52d 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. 2002-07-06 16:12:42 +00:00
ian%hixie.ch 724d714a02 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. 2002-07-06 16:05:48 +00:00
ian%hixie.ch 927a78dfd7 Made the SMTP 'timeout' value configurable at setup time (defaults to 5 seconds) 2002-07-06 16:02:07 +00:00
ian%hixie.ch 3f748a7c22 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. 2002-07-06 15:59:56 +00:00
ian%hixie.ch 7c56b08e2b Update to TemplateToolkit format 2002-06-30 21:35:27 +00:00
ian%hixie.ch 19251aa801 Include character set information in the HTTP headers 2002-06-30 21:34:57 +00:00
ian%hixie.ch b0b0c2d2b3 HTTP needs RFC822 dates for its Date: line 2002-06-30 21:33:21 +00:00
ian%hixie.ch 24c018b496 Primitive POST support (work in progress) 2002-06-30 21:30:43 +00:00
ian%hixie.ch f4a812c534 Oops, wrong repository... 2002-06-30 21:05:35 +00:00
ian%hixie.ch 71c3a67ce8 Initial checkin 2002-06-30 21:02:35 +00:00
ian%hixie.ch ce4478beee Some versions of the Net::SMTP module handle the timeout by raising a SIG ALRM, so handle this case as well. Also increase the timeout by ten seconds since in the real world, some servers are actually that slow. We might need to make this asynchronous at some point. 2002-05-26 15:08:48 +00:00
ian%hixie.ch 42ac389024 Perl 5.005_03 compatability: the precedence of the not and comma operators changed at some point, so disambiguate this usage. 2002-05-26 15:05:37 +00:00
ian%hixie.ch 78a7589fdc Cache the Term::ReadLine input device. On some systems, it has to be cached, otherwise you end up trying to open too many input handles or something like that. This also means we can have session history where available. 2002-05-26 15:03:48 +00:00
ian%hixie.ch 8ffd16f0b1 Add some null checking -- if the string is undefined, then turn it into the empty string. This avoids many undefined value warnings when the data provided by the user is incomplete. 2002-05-26 15:02:33 +00:00
ian%hixie.ch f5ec789f5f Implemented rowsAffected(), which will return the number of database rows that were affected by the last execution of the statement associated with the results frame. 2002-05-26 15:00:56 +00:00
ian%hixie.ch 4d9ba65cdd Preliminary work in making the user prefs notifications page nicer. 2002-05-07 12:16:24 +00:00
ian%hixie.ch 2eccf38d60 Add the hidden userPrefs.userID fields to the user prefs page so that changes to users other than yourself actually take effect. 2002-05-07 12:16:01 +00:00
ian%hixie.ch 50edfae326 pendingCommands.defined doesn't seem to work... Let's try pendingCommands.ref. It's technically more correct anyway. 2002-05-07 03:04:37 +00:00
ian%hixie.ch e14122ee41 Forgot to fully convert the templates to Template Toolkit: nested dots need to be escaped differently now. 2002-05-07 03:03:00 +00:00
ian%hixie.ch 7f1b1bc44d Fix some bugs with the pendingCommand escaping code: First, extra spaces were being inserted (so much for s///x). Second, the escaping was actually modifying the original keys. Third, there were some logic errors that caused underescaping or resulted in the wrong key being escaped. 2002-05-07 01:50:22 +00:00
ian%hixie.ch 02aa6e26db Lots of tweaks, mainly to make the source look pretty. Also hid the Settings header if there are no important settings. 2002-05-07 01:32:28 +00:00
ian%hixie.ch 6e4c646189 Correct a typo: Output is done through the application object, not the user prefs object... 2002-05-06 23:05:08 +00:00
ian%hixie.ch fea723a0a6 Add an additional check that the change ID is valid 2002-05-06 22:59:22 +00:00
ian%hixie.ch f343303e4e Forgot to fully convert the templates to Template Toolkit: nested dots need to be escaped differently now. Also added filters to the URI fragments so that spaces get escaped properly. They'll be stuck together at some point. 2002-05-06 21:15:05 +00:00