summaryrefslogtreecommitdiffstats
path: root/Bugzilla/WebService
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla/WebService')
-rw-r--r--Bugzilla/WebService/Server.pm17
1 files changed, 17 insertions, 0 deletions
diff --git a/Bugzilla/WebService/Server.pm b/Bugzilla/WebService/Server.pm
index 21f0f787c..71c790e8e 100644
--- a/Bugzilla/WebService/Server.pm
+++ b/Bugzilla/WebService/Server.pm
@@ -21,6 +21,8 @@ use strict;
use Bugzilla::Error;
use Bugzilla::Util qw(datetime_from);
+use Scalar::Util qw(blessed);
+
sub handle_login {
my ($self, $class, $method, $full_method) = @_;
eval "require $class";
@@ -38,4 +40,19 @@ sub datetime_format_inbound {
return $time
}
+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();
+}
+
1;