Commit Graph

327 Commits

Author SHA1 Message Date
interp 2800b21fea Browser caching may be a reason for wrong servlet request. Tell them
about it.
2002-11-03 14:37:53 +00:00
interp a49fbee71f Change argument order in EXTRACT-BINDINGS and EXTRACT-SINGLE-BINDING to
fit the one of the equivalent PLT procedure.
2002-10-26 15:40:26 +00:00
interp 26683bd822 * Move error handling of the servlets to the right point, i.e. after
the reset.
* Remove redirect 'feature'. It is not well tought out.
2002-10-26 15:35:20 +00:00
interp ddae6cfb3c cache GET-BINDINGS-RESULTS' results of POST requests with weak-pointers 2002-10-26 15:20:56 +00:00
interp 588dc93ddf + PMB is an uncompressed format---use smaller size.
+ Put the image in the image directory (we know, where we are...).

 Unfortunately, the server does not report the image type well, so
 the picture is usually not displayed by the browser (or the format is
 not understood). Anyway, it may be downloaded.
2002-10-22 16:05:18 +00:00
interp 03da4f6e05 Use image directory for gnuplot output. 2002-10-22 16:01:25 +00:00
interp fc7a6f3719 Let pictures be created in the PBM format instead of the PNG format, because
some installations of gnuplot cannot produce PNG, though it is a web
standard. The PBM files may be converted to other file formats using the
PBMPLUS package from http://www.acme.com/software/pbmplus/, including PNG.
2002-10-22 15:34:59 +00:00
interp 25976c1f39 export ADJUST-TIMEOUTdon't need defrec-package anymore 2002-10-21 08:42:09 +00:00
interp 163e250b89 Some versions using callback.More will come soon. To be improved. 2002-10-21 08:41:00 +00:00
interp 13c001841b Various changes and improvements, namely:
+ added links to previous menus
+ removed some typos
+ admin-servlets:
  + make unload all work
  + improved machine-user dialog
+ calculate.scm:
  + numbers are restored, if operator is changed

Sorry for this packed commit, but my ISP went down on weekend.
2002-10-21 08:38:46 +00:00
interp 4925801b9e use DEFINE-RECORD-TYPE instead of DEFINE-RECORD 2002-10-21 08:34:12 +00:00
interp 86df9aac58 minor changes 2002-10-21 08:26:50 +00:00
interp d02d0e19d2 use DEFINE-RECORD-TYPE instead of DEFINE-RECORD 2002-10-21 08:25:58 +00:00
interp f0106b48e7 add `source' directory
Note: The MIME type reported by CORE is wrong and irritates Netscape.
2002-10-21 08:24:58 +00:00
interp fa61699155 MAKE-UPPER-INPUT-FIELD --> MAKE-HIGHER-INPUT-FIELD 2002-10-09 15:25:14 +00:00
interp e29d3d750a more comfortable 2002-10-09 15:22:50 +00:00
interp 044c27e292 make forms POSTing 2002-10-09 15:14:54 +00:00
interp db331ad0e3 Wrap error-handler around calls to LAUNCH-NEW-INSTANCE and RESUME-URL
in SERVLET-HANDLER.  This will catch most errors, but will fail on
some, e.g. procedure called with wrong number of arguments. As far as
I see, the problem is the underlying error reporting system of
Scsh/Scheme48. Maybe I'm wrong.
2002-10-09 15:12:33 +00:00
interp 900f552ee1 Wrap error-handler around calls to LAUNCH-NEW-INSTANCE and RESUME-URL.
This will catch most errors, but will fail on some, e.g. procedure
called with wrong number of arguments. As far as I see, the problem is
the underlying error reporting system of Scsh/Scheme48. Maybe I'm
wrong.
2002-10-09 15:11:55 +00:00
interp 9e5d62aa77 In MAKE-NUMBER-INPUT-FIELD set default value field only if default
text is given.
2002-10-05 11:58:52 +00:00
interp 12b2b96582 remove some superfluous comments/code 2002-10-04 15:56:58 +00:00
interp 23dfce1dc7 add further configurable option: cache servlets 2002-10-04 15:51:51 +00:00
interp a920462ba1 Use preserved-thread-fluids for the options. With this, the stay the
same between to calls to the servlet-handler.
2002-10-04 15:51:04 +00:00
interp 9fb5c80f65 let MAKE-CHECKBOX-INPUT-FIELD accept a further argument: checked or
not
2002-10-04 15:29:50 +00:00
interp fbc10a2f63 mention and explain high order HTML tags 2002-10-04 15:11:41 +00:00
interp b625901bd1 parameters to input field creators are optional on their own 2002-10-04 14:33:27 +00:00
interp 7b81dbdd98 SERVLET-FORM accepts a method specifier:
SERVLET-FORM return-address [method] [attributes] [elements]
2002-10-04 14:31:28 +00:00
interp a6b499426a + Interface to MAKE-SELECT-INPUT-FIELD has changed
+ Add word space after `i.e.' and `e.g.'
2002-10-04 14:07:46 +00:00
interp 85b0d91475 MAKE-SELECT-INPUT-FIELD can now create select input fields with multiple
selections. INPUT-FIELD-VALUE will always return a (possible empty) list in
the multiple case.
2002-10-04 13:56:46 +00:00
interp eef78201f0 ignore latex help files 2002-10-03 13:35:16 +00:00
interp 67d1587e72 first shot to a docu of servlets 2002-10-03 13:33:41 +00:00
interp 08eee1915b If URL in SHOW-OUTDATED is #f, no reload address is shown. 2002-10-03 13:28:31 +00:00
interp 29abe30461 let MAKE-NUMBER-INPUT-FIELD accept a default value 2002-10-03 12:28:36 +00:00
interp 47424d504f Hit me! 2002-10-03 12:02:47 +00:00
interp 7c3ca073dd let EXTRACT-BINDINGS return strings, not bindings 2002-10-03 11:58:27 +00:00
interp f981b2505a export SEND in servlets 2002-10-03 11:20:05 +00:00
interp ab9c1ef642 example using servlet-data 2002-10-03 01:25:47 +00:00
interp 04ba0986d3 let forms do POST requests by default (currently unchangeable) 2002-10-03 00:45:41 +00:00
interp 091f5ab590 prepare for POST requests 2002-10-03 00:18:10 +00:00
interp 30aca350b9 feature servlet-data added 2002-10-03 00:15:44 +00:00
interp f9f854ef85 add possibility to serve non-Scheme files 2002-10-02 23:47:07 +00:00
interp 4899ff0453 bug removal; add data table to result output 2002-10-02 23:45:35 +00:00
interp 20ff8816a9 + feature: return-addresses; lets servlets give more than one possible
address for the next step
+ plain-html: leaves given text untouched, like quote in scheme
              don't call it quote, because it is too similar to the
	      HTML's tag <q> (that stands for 'quote')
2002-10-02 20:28:39 +00:00
interp 61896c1238 use MAKE-ADDRESS to generate return addresses 2002-10-02 20:15:54 +00:00
interp 9203e245bf Don't use callbacks -- use several submit buttons or special return addresses. 2002-10-02 19:13:14 +00:00
interp d690a7a24e don't use callbacks, but two submit-buttons 2002-10-02 18:22:19 +00:00
interp 74acc71447 add INPUT-FIELD-BINDING 2002-10-02 18:22:01 +00:00
interp d56d7f9fce add proper error handling on wrong inputs 2002-10-02 15:14:53 +00:00
interp a01015cc44 + internal restructuring
+ nicer interface
2002-10-02 13:39:55 +00:00
interp 1f8d1d4762 don't need sort anymore 2002-10-02 13:38:56 +00:00
interp cc681e0a69 MAKE-SELECT-INPUT-FIELDS --> MAKE-SELECT-INPUT-FIELD 2002-10-02 13:37:41 +00:00
interp 03eeb86a5f factor out transformers 2002-10-02 12:02:56 +00:00
interp c85bcfc502 + serlvet administration tool
Note that the picture generation in admin-profiling.scm
  currently fails because of current restrictions in the
  servlet-handler (that cannot serve data files).
  No error capturing on wrong input in input-fields.
2002-10-01 17:44:58 +00:00
interp d3827d8e72 some renames, some more exports in SERVLET-HANDLER/ADMIN 2002-10-01 17:42:06 +00:00
interp e68b320eb0 allow default text for text input fields 2002-10-01 17:40:08 +00:00
interp fa350f02bf + thread-based *options*
+ INSTANCE-DELETE! --> DELETE-INSTANCE!
+ access to continuations (GET-CONTINUATIONS, DELETE-CONTINUATION!)
2002-10-01 17:39:39 +00:00
interp bed81261f4 open output data file truncated 2002-10-01 17:37:47 +00:00
interp 02169de482 really rename PLUGIN --> SERVLET 2002-10-01 12:36:50 +00:00
interp 85e75950a3 rename PLUGIN --> SERVLET 2002-10-01 12:33:39 +00:00
interp 349402b7cc use PATH-LIST->FILE-NAME for file name assembling 2002-10-01 12:22:37 +00:00
interp a09d10850e SERVLET-HANDLER now accepts a second argument, the prefix for redirections 2002-10-01 12:12:03 +00:00
interp 62ed566572 adjust to recent code writing: more export in SERVLET-HANDLER/ADMIN, some import to SERVLET-HANDLER 2002-10-01 12:10:58 +00:00
interp 4fdd1cdbbb OUTDATER added; URL tag accepts more text fields now 2002-10-01 12:10:15 +00:00
interp 1ac0705aae + longer instance lifetime
+ GET-INSTANCES returns all instances as an alist
+ let SEND/SUSPEND terminate correctly if instance has died in the meanwhile
  (may happen while administrating servlets)
2002-10-01 12:08:42 +00:00
interp 3e9486573a adapt to recent change in creating form input fields 2002-09-30 15:58:50 +00:00
interp 516d8221d7 adapt to recent change in creating form input fields 2002-09-30 15:25:59 +00:00
interp 2579598783 + servlet-handler/admin structure gives runtime
access to servlet-handler options
+ several constructors for form input fields
2002-09-30 14:43:15 +00:00
interp fc6f2c5a1a small correction 2002-09-30 07:58:20 +00:00
interp 30e66edc61 + longer standard instance lifetime
+ instance lifetime adjusted when new continuation is launched
+ GET-LOADED-PLUGINS and UNLOAD-PLUGIN
+ small bug fixes
2002-09-30 07:53:00 +00:00
interp d6c4304f45 callbacks get the REQUEST, not the BINDINGS 2002-09-29 16:42:53 +00:00
interp aa7bcc6186 + add option instance-lifetime along with some functions
+ add instance surveillance thread that kills instance after
  a period of time
2002-09-29 15:20:36 +00:00
interp bfbeb49125 add CACHE-PLUGINS? option 2002-09-29 13:43:39 +00:00
interp 06c8b5ea5d add GET-BINDINGS: gets bindings out of REQUEST 2002-09-29 13:43:08 +00:00
interp b8a1ec9024 some short hint added 2002-09-27 17:31:35 +00:00
interp aaa5283e0b byte input widget 2002-09-27 17:30:11 +00:00
interp 0b6e68a2c0 added upper-input-field type 2002-09-27 17:29:31 +00:00
interp 37aac43aa9 add calculator example 2002-09-27 15:32:39 +00:00
interp 52566ea00a FORM -> SERVLET-FORM 2002-09-27 15:32:05 +00:00
interp db3c5ef04e + small calculator
+ shows usage of
 ++ callbacks (two submitbuttons)
 ++ creation of own input fields
2002-09-27 15:31:26 +00:00
interp 376a8b1a70 remove superfluous line 2002-09-27 15:25:15 +00:00
interp 99fb8f3e32 + major change in internal representation of forms and its elements
+ SERVLET-FORM now introduces a special form with our input-fields
+ servlet-forms may be nested
2002-09-27 15:24:44 +00:00
interp 9c6db22736 export input-field primitives from servlets 2002-09-27 15:19:42 +00:00
interp 3fcaa99239 register session before loading plugin to be able to create callbacks in plugin 2002-09-27 15:04:36 +00:00
interp e667dedcc2 remove debug output 2002-09-26 12:59:54 +00:00
interp 7dde62cd1a Be more flexible with paths; use $SUNETHOME and $SSAXPATH if set or
reasonable default values if not.
In particular, work around the dependency of config on cwd.
2002-09-26 12:13:01 +00:00
interp 1abbed29f0 renaming UTILTIES.SCM to SERVLETS.SCM and structure PLUGIN-UTILITIES to SERVLETS 2002-09-25 17:01:00 +00:00
interp c28d6cf153 renaming UTILTIES.SCM to SERVLETS.SCM and structure PLUGIN-UTILITIES to SERVLETS 2002-09-25 13:02:31 +00:00
interp 9f2754cff5 first shot on servlet's new form interface 2002-09-24 16:56:00 +00:00
interp 8e4a0c2872 remove incongruousnesses of previous accident commit 2002-09-24 09:12:58 +00:00
interp fba9e1a4d3 a simple adding servlet; doing a lot by hand 2002-09-24 09:03:30 +00:00
interp 0b2a59b6ef utilities for servlet plugins on higher level 2002-09-24 09:01:26 +00:00
interp 9328d1fa82 small brace typo 2002-09-24 08:47:33 +00:00
interp 0d9b85d156 extend plugin-utilities structure (send-html/suspend, etc.) 2002-09-24 08:19:41 +00:00
interp 8f67c75101 add possibility to clear instance table remotely (may go away in the
future)
2002-09-24 08:15:21 +00:00
sperber 91b2f35f0d Don't print a space after ":" in RFC 822 headers. 2002-09-22 15:43:29 +00:00
sperber c0281e834a Rename "path handler" -> "request handler". 2002-09-22 15:41:41 +00:00
interp 74e26ddeb5 add conditions to servlet-handler's open clause 2002-09-21 20:20:29 +00:00
interp 4d9f45c1bd remove FIXMEs:
* respect presence of threads - use locks for table accesses
  (*instance-table*, continuation-table, *plugin-table*)
  * return 404 Not found if servlet does not exist
  * neglect POST request (will do this later)
  * reload plugin if timestamp has changed
2002-09-21 20:18:49 +00:00
interp be308133d2 opens packages and structures for servlet-server in right order
note: needs (r5rs-) SSAX to be present
2002-09-20 19:25:20 +00:00
interp a66cd239c9 * slim example web-server
* create an example web-server using servlets in httpd/servlets
  (the servlet files from the example web-server moved there)
2002-09-20 19:23:17 +00:00
interp abd747a49b * use Oleg's SSAX (SSAX->HTML et al.)
* add continuation counter in servlet-handler, thus the generated continuation
  urls are a bit more human readable.
2002-09-19 11:16:29 +00:00
interp 78e8cb3777 use lock while creating temp-file 2002-09-18 15:33:42 +00:00
interp 911c56e668 change to srfi-27 for random bits 2002-09-18 15:32:41 +00:00
interp ac880e4491 move reset calls forward 2002-09-18 08:57:28 +00:00
interp f6d1babc7b added structures:
* shift-reset
* profiling

changed:
open profiling and shift-reset in servlet-handler
2002-09-14 16:48:59 +00:00
interp 7c5de69604 add triggers for profiling and cache flushing (this may go away in the future) 2002-09-14 16:43:58 +00:00
interp e857b32057 add comment 2002-09-14 16:42:52 +00:00
interp 4ae31efbb2 use shift/reset 2002-09-14 16:42:24 +00:00
interp 04b7adbd89 usage info and comments 2002-09-14 16:36:42 +00:00
interp d38f8225fb small space profiling utilities 2002-09-14 16:35:34 +00:00
interp 793ee8cc2f get shift-reset from scsh and modify it to be thread-local 2002-09-14 16:10:14 +00:00
interp d5b2b448d9 first shot on adding servlets to HTTPD 2002-09-13 07:21:19 +00:00
interp becf14ce30 move global variables in httpd-logging to preserved-thread-fluids 2002-09-05 10:55:30 +00:00
sperber 1cfa3e3595 Shift FQDN determination code from HTTPD-CORE to DNS. 2002-09-05 09:25:42 +00:00
sperber ed04d43b65 NeXTstep is dead. 2002-09-05 08:55:58 +00:00
sperber 490a22d724 More file extension mappings. 2002-09-05 08:51:27 +00:00
interp 5746c2b149 send bug report only on non-os-errors 2002-09-04 14:01:34 +00:00
interp 688d576b96 Send bug report to client, if we encounter an internal error
(e.g. testing new handler)
2002-09-04 10:38:14 +00:00
interp 65e8af2952 send error output to stdout (= to client) 2002-09-04 10:29:12 +00:00
interp 794412df5a use HTTP-STATUS/OK constant instead of integer 200 2002-09-03 13:33:43 +00:00
interp 80257c0822 make more pleasent error messages 2002-09-03 12:45:39 +00:00
interp 1694d372c5 report BAD-GATEWAY error instead INTERNAL-ERROR 2002-09-03 11:55:53 +00:00
interp 443e321cc8 rename URI-LIKE? to URI-HAS-PROTOCOL? 2002-09-03 08:45:59 +00:00
interp a33b7405a5 move CLF log to SEND-HTTP-RESPONSE and log correct status code 2002-09-02 14:49:24 +00:00
interp 0ab5c48cfc make MY-REPORTED-FQDN fit for lots of virtual hosts 2002-09-02 14:34:31 +00:00
interp 27f6bb4dbd remove debug output 2002-09-02 14:33:06 +00:00
interp 9baec4fbf0 Handle `Location:' and `Status:' headers of CGI program's output correctly. 2002-09-02 13:43:03 +00:00
interp ff56fa6ec1 Add redirection feature to web-server: If the handler returns with the
return code HTTP-STATUS/REDIRECT, the server creates a new request out of
the redirection response and recalls the handler to serve the request.
You can use MAKE-REDIRECTION-RESPONSE to create this special response.
2002-09-02 13:42:10 +00:00
interp 9602104a8c output directly to socket:outport in emit-man-page 2002-08-30 12:04:27 +00:00
interp f94396a54e look if file is executable 2002-08-29 14:53:44 +00:00
interp ecd5afadbe remove debug output
newline to output-port `out'
2002-08-29 14:34:38 +00:00
interp 50fa27f993 adapt to new response philosophy (not tested yet) 2002-08-29 14:05:55 +00:00
interp 7ca34fa270 * adapt rman-gateway to new response philosophy
* add rman-gateway to example server
* add init proc to http-test in start-web-server
2002-08-29 10:51:47 +00:00
interp 5bced0b8f7 remove introduced but nerving signal stuff from handlers 2002-08-29 08:32:39 +00:00
interp 62b3307fb2 * new response body: :HTTP-READER-WRITER-BODY
* hand over SOCKET:INPORT to SEND-HTTP-RESPONSE
* apply this to seval-handler
2002-08-28 16:44:07 +00:00
interp 57c6710012 * map socket inport to handler inport (allows POST requests)
* remove FIXME from seval
* add seval example to example web-server
2002-08-28 15:56:14 +00:00
interp a2aed3280e adapt seval-handler to new response philosophy
FIXME: problems with input port in POST request
2002-08-28 15:41:52 +00:00
interp 7fd23a0ceb let handler exit if error occurs 2002-08-28 15:40:32 +00:00
interp e877336d0a send extra headers from script's output 2002-08-28 10:10:45 +00:00
interp 542fea9f55 adpat cgi-server to new response philosophy
NOTE: There's a FIXME left: nph- scripts won't work at all currently.
2002-08-28 09:54:40 +00:00
interp fd2d2bc79c clean up dns lookup call 2002-08-27 13:48:30 +00:00
sperber 013c7bd5b3 Adjust use of TILDE-HOME-DIR-HANDLER. 2002-08-27 09:45:05 +00:00
sperber 3b6b813965 Move NULL-PATH-HANDLER from HTTPD-FILE-DIRECTORY-HANDLERS-INTERFACE to
HTTPD-BASIC-HANDLERS.
2002-08-27 09:42:02 +00:00
sperber c97bbfc1db Move MAKE-HTTP-ERROR-RESPONSE from HTTPD-CORE to HTTPD-RESPONSES.
Elide REALLY-MAKE-HTTP-ERROR-RESPONSE in the process.
2002-08-27 09:39:05 +00:00
sperber f5b7f76bd6 Fix HOME-DIR-HANDLER and TILDE-HOME-DIR-HANDLER. 2002-08-27 09:32:12 +00:00
sperber 4c98437ce0 Fix typo in SEND-HTTP-RESPONSE. 2002-08-27 09:28:09 +00:00
sperber c668e35e05 HOSTNAME -> HOST-NAME 2002-08-27 09:05:16 +00:00
sperber aeeeea79c1 Add copyright notice. 2002-08-27 09:03:22 +00:00
interp 755b715a77 * move dotdot-check and copy-inport->outport to sunet-utilities
* open necessary packages in various structures
2002-08-26 16:36:25 +00:00
sperber 52036a75ad Revive comment section from older version. 2002-08-26 15:15:02 +00:00
sperber e397f2520e R4RS -> R5RS 2002-08-26 15:14:10 +00:00
sperber 7460d8009f Add a MAKE-HTTPD-OPTIONS combinator for a more visually pleasant
layout for HTTPD-OPTIONS constructors.
2002-08-26 13:10:57 +00:00
sperber 3b298aadcc Remove old code from Gäbe Engelhart. 2002-08-26 11:46:27 +00:00
sperber 1a1dcebbd0 Remove HTTP-CONSTANTS / http/constants.scm. 2002-08-26 11:44:02 +00:00
sperber 541113a4f0 Fold text-generation.scm (which was down to a few lines) into core.scm. 2002-08-26 11:21:53 +00:00
sperber e8b7ef763f Remove Olin's import notes which are bound to be inaccurate by now.
Fix a few RFC URLs.
2002-08-26 11:18:44 +00:00
sperber af95d497af Properly handle HEAD requests.
Properly handle HTTP 0.9 requests.
2002-08-26 11:11:40 +00:00
sperber 6f7cd467f1 Adopt proper RFC terminology:
"reply" -> "response"
"reply code" -> "status code"
2002-08-26 09:59:14 +00:00
sperber d1438eb4a8 Rework the API of path handlers:
Path handlers must now return a response object similar to the
response objects of the PLT web server, encapsulating headers, mime
type, status code, and so on.

A response object in turn can contain an encoding of a body.  The only
presently supported body type is a procedure which just prints the
body.

Other changes:
- split file-dir-handler.scm out from handlers.scm
- moved the ICON-NAME constructor parameters for file handlers to the
  options
- removed input/output port redirections and work with paths
  explicitly
2002-08-26 09:46:11 +00:00
interp 1236b3dccd adapted to new logging facility of httpd 2002-08-26 08:26:08 +00:00
interp a6f10bc87d adapting to new httpd logging facility 2002-08-26 08:15:43 +00:00
interp 60df692033 bug removing (...parenthesised...) 2002-08-24 17:45:37 +00:00
interp 0119532744 changes in my-reported-fqdn:
* respect change in arguments between different calls before handing out
  cached value
* make its use safe in thread context
2002-08-24 17:26:56 +00:00
interp 1ea2e0f8e7 remove bug from my-reported-fqdn 2002-08-24 16:46:34 +00:00
interp 5f654f5fc3 use char-set:digit instead of deprecated char-set:numeric 2002-08-23 15:44:40 +00:00
interp ed4ad0798f use dns-lookup-ip before using host-info for fqdn 2002-08-23 15:41:06 +00:00
interp 64d4705ab3 * export selector and transformer of resolve-ip? field in httpd-options
* import dns to httpd-logging
* add dns-lookup facility to logging
2002-08-22 16:40:10 +00:00
interp e0af4da4d6 added field for resolving ips in logfiles 2002-08-22 16:10:08 +00:00
interp 017d5408e8 * adpated to new handler combinators
* change script call header (using exec ... now)
2002-08-22 15:33:37 +00:00
interp 2c9b931100 added handler combinators and adapted current basic handlers 2002-08-22 15:32:03 +00:00
sperber f4bacf411a Fix URL of HTTP 1.0 RFC. 2002-08-22 14:59:49 +00:00
interp 092874805f correct log output to logfile 2002-08-22 13:19:57 +00:00
sperber 0d70f66dd7 Revert to old representation of HTTP-URL:PATH. 2002-06-08 15:29:29 +00:00
interp f82499bf71 removed superfluous char-set:whitespace in call to string-trim 2002-05-30 14:07:30 +00:00
interp 77ebc6aea4 * split up big httpd-core file in several pieces
* make structures that used httpd-core using the new pieces of httpd-core
2002-05-26 17:56:56 +00:00
interp 3e16721158 renamed httpd-\(*\).scm files to \1.scm
updated modules.scm and docu accordingly
2002-05-26 14:47:48 +00:00
interp 3573dcc613 * moved files concerning web server to new subdirectory httpd
* minor change in inner order of modules.scm
* commented out structure in program-modules: source files are missing (?)
2002-05-14 13:53:55 +00:00