Move Resource.serverTime to AsyncResource, fix comments for AsyncResource. r=philiKON

This commit is contained in:
Richard Newman 2011-04-25 13:17:26 -07:00
parent eee2107d91
commit 7c1133a97f
4 changed files with 21 additions and 22 deletions

View File

@ -916,7 +916,7 @@ SyncEngine.prototype = {
}
// Records differ so figure out which to take
let recordAge = Resource.serverTime - item.modified;
let recordAge = AsyncResource.serverTime - item.modified;
let localAge = Date.now() / 1000 - this._modified[item.id];
this._log.trace("Record age vs local age: " + [recordAge, localAge]);

View File

@ -145,6 +145,11 @@ function AsyncResource(uri) {
AsyncResource.prototype = {
_logName: "Net.Resource",
// ** {{{ AsyncResource.serverTime }}} **
//
// Caches the latest server timestamp (X-Weave-Timestamp header).
serverTime: null,
// The string to use as the base User-Agent in Sync requests.
// These strings will look something like
//
@ -162,7 +167,7 @@ AsyncResource.prototype = {
// Wait 5 minutes before killing a request.
ABORT_TIMEOUT: 300000,
// ** {{{ Resource.authenticator }}} **
// ** {{{ AsyncResource.authenticator }}} **
//
// Getter and setter for the authenticator module
// responsible for this particular resource. The authenticator
@ -178,7 +183,7 @@ AsyncResource.prototype = {
this._authenticator = value;
},
// ** {{{ Resource.headers }}} **
// ** {{{ AsyncResource.headers }}} **
//
// Headers to be included when making a request for the resource.
// Note: Header names should be all lower case, there's no explicit
@ -193,7 +198,7 @@ AsyncResource.prototype = {
this._headers[header.toLowerCase()] = value;
},
// ** {{{ Resource.uri }}} **
// ** {{{ AsyncResource.uri }}} **
//
// URI representing this resource.
get uri() {
@ -206,7 +211,7 @@ AsyncResource.prototype = {
this._uri = value;
},
// ** {{{ Resource.spec }}} **
// ** {{{ AsyncResource.spec }}} **
//
// Get the string representation of the URI.
get spec() {
@ -215,7 +220,7 @@ AsyncResource.prototype = {
return null;
},
// ** {{{ Resource.data }}} **
// ** {{{ AsyncResource.data }}} **
//
// Get and set the data encapulated in the resource.
_data: null,
@ -224,7 +229,7 @@ AsyncResource.prototype = {
this._data = value;
},
// ** {{{ Resource._createRequest }}} **
// ** {{{ AsyncResource._createRequest }}} **
//
// This method returns a new IO Channel for requests to be made
// through. It is never called directly, only {{{_doRequest}}} uses it
@ -442,11 +447,6 @@ Resource.prototype = {
__proto__: AsyncResource.prototype,
// ** {{{ Resource.serverTime }}} **
//
// Caches the latest server timestamp (X-Weave-Timestamp header).
serverTime: null,
// ** {{{ Resource._request }}} **
//
// Perform a particular HTTP request on the resource. This method
@ -531,7 +531,7 @@ ChannelListener.prototype = {
// Save the latest server timestamp when possible.
try {
Resource.serverTime = channel.getResponseHeader("X-Weave-Timestamp") - 0;
AsyncResource.serverTime = channel.getResponseHeader("X-Weave-Timestamp") - 0;
}
catch(ex) {}

View File

@ -301,14 +301,13 @@ function run_test() {
do_check_eq(content.status, 200);
do_check_eq(JSON.stringify(content.obj), JSON.stringify(sample_data));
_("X-Weave-Timestamp header updates Resource.serverTime");
_("X-Weave-Timestamp header updates AsyncResource.serverTime");
// Before having received any response containing the
// X-Weave-Timestamp header, Resource.serverTime is null.
do_check_eq(Resource.serverTime, null);
// X-Weave-Timestamp header, AsyncResource.serverTime is null.
do_check_eq(AsyncResource.serverTime, null);
let res8 = new Resource("http://localhost:8080/timestamp");
content = res8.get();
do_check_eq(Resource.serverTime, TIMESTAMP);
do_check_eq(AsyncResource.serverTime, TIMESTAMP);
_("GET: no special request headers");
let res9 = new Resource("http://localhost:8080/headers");

View File

@ -413,15 +413,15 @@ function run_test() {
}, function (next) {
_("X-Weave-Timestamp header updates Resource.serverTime");
_("X-Weave-Timestamp header updates AsyncResource.serverTime");
do_test_pending();
// Before having received any response containing the
// X-Weave-Timestamp header, Resource.serverTime is null.
do_check_eq(Resource.serverTime, null);
// X-Weave-Timestamp header, AsyncResource.serverTime is null.
do_check_eq(AsyncResource.serverTime, null);
let res8 = new AsyncResource("http://localhost:8080/timestamp");
res8.get(ensureThrows(function (error, content) {
do_check_eq(error, null);
do_check_eq(Resource.serverTime, TIMESTAMP);
do_check_eq(AsyncResource.serverTime, TIMESTAMP);
do_test_finished();
next();
}));