Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
seleniumhq
GitHub Repository: seleniumhq/selenium
Path: blob/trunk/third_party/closure/goog/net/xmlhttpfactory.js
2868 views
1
// Copyright 2010 The Closure Library Authors. All Rights Reserved.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS-IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
/**
16
* @fileoverview Interface for a factory for creating XMLHttpRequest objects
17
* and metadata about them.
18
* @author [email protected] (David Barrett-Kahn)
19
*/
20
21
goog.provide('goog.net.XmlHttpFactory');
22
23
/** @suppress {extraRequire} Typedef. */
24
goog.require('goog.net.XhrLike');
25
26
27
28
/**
29
* Abstract base class for an XmlHttpRequest factory.
30
* @constructor
31
*/
32
goog.net.XmlHttpFactory = function() {};
33
34
35
/**
36
* Cache of options - we only actually call internalGetOptions once.
37
* @type {Object}
38
* @private
39
*/
40
goog.net.XmlHttpFactory.prototype.cachedOptions_ = null;
41
42
43
/**
44
* @return {!goog.net.XhrLike.OrNative} A new XhrLike instance.
45
*/
46
goog.net.XmlHttpFactory.prototype.createInstance = goog.abstractMethod;
47
48
49
/**
50
* @return {Object} Options describing how xhr objects obtained from this
51
* factory should be used.
52
*/
53
goog.net.XmlHttpFactory.prototype.getOptions = function() {
54
return this.cachedOptions_ ||
55
(this.cachedOptions_ = this.internalGetOptions());
56
};
57
58
59
/**
60
* Override this method in subclasses to preserve the caching offered by
61
* getOptions().
62
* @return {Object} Options describing how xhr objects obtained from this
63
* factory should be used.
64
* @protected
65
*/
66
goog.net.XmlHttpFactory.prototype.internalGetOptions = goog.abstractMethod;
67
68