From 9947ffcb75bcb1f27b07cc9d849f69ed97996d7e Mon Sep 17 00:00:00 2001 From: Max Kanat-Alexander Date: Sun, 7 Mar 2010 23:34:34 -0800 Subject: Bug 550618: Make the XML-RPC WebService return the right date format r=dkl, a=mkanat --- Bugzilla/WebService.pm | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) (limited to 'Bugzilla/WebService.pm') diff --git a/Bugzilla/WebService.pm b/Bugzilla/WebService.pm index 6ff751881..2ba8e925e 100644 --- a/Bugzilla/WebService.pm +++ b/Bugzilla/WebService.pm @@ -19,10 +19,9 @@ # actual RPC server, see Bugzilla::WebService::Server and its subclasses. package Bugzilla::WebService; use strict; -use Date::Parse; +use Bugzilla::WebService::Server; + use XMLRPC::Lite; -use Bugzilla::Util qw(datetime_from); -use Scalar::Util qw(blessed); # Used by the JSON-RPC server to convert incoming date fields apprpriately. use constant DATE_FIELDS => {}; @@ -43,22 +42,16 @@ sub type { return XMLRPC::Data->type($type)->value($value); } +# This is the XML-RPC implementation, see the README in Bugzilla/WebService/. +# Our "base" implementation is in Bugzilla::WebService::Server. sub datetime_format_outbound { - my ($self, $date) = @_; - - my $time = $date; - if (blessed($date)) { - # We expect this to mean we were sent a datetime object - $time->set_time_zone('UTC'); - } else { - # We always send our time in UTC, for consistency. - # passed in value is likely a string, create a datetime object - $time = datetime_from($date, 'UTC'); - } - return $time->iso8601(); + my $self = shift; + my $value = Bugzilla::WebService::Server->datetime_format_outbound(@_); + # XML-RPC uses an ISO-8601 format that doesn't have any hyphens. + $value =~ s/-//g; + return $value; } - 1; __END__ -- cgit v1.2.3-24-g4f1b