geoserver-node-client 1.6.1 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports["default"] = void 0;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
7
+ exports.default = void 0;
12
8
  var _nodeFetch = _interopRequireDefault(require("node-fetch"));
13
9
  var _geoserver = require("./util/geoserver.js");
14
10
  var _about = _interopRequireDefault(require("./about.js"));
@@ -17,15 +13,14 @@ var _about = _interopRequireDefault(require("./about.js"));
17
13
  *
18
14
  * @module NamespaceClient
19
15
  */
20
- var NamespaceClient = exports["default"] = /*#__PURE__*/function () {
16
+ class NamespaceClient {
21
17
  /**
22
18
  * Creates a GeoServer REST NamespaceClient instance.
23
19
  *
24
20
  * @param {String} url The URL of the GeoServer REST API endpoint
25
21
  * @param {String} auth The Basic Authentication string
26
22
  */
27
- function NamespaceClient(url, auth) {
28
- (0, _classCallCheck2["default"])(this, NamespaceClient);
23
+ constructor(url, auth) {
29
24
  this.url = url;
30
25
  this.auth = auth;
31
26
  }
@@ -37,220 +32,113 @@ var NamespaceClient = exports["default"] = /*#__PURE__*/function () {
37
32
  *
38
33
  * @returns {Object} An object describing the namespace
39
34
  */
40
- return (0, _createClass2["default"])(NamespaceClient, [{
41
- key: "getAll",
42
- value: (function () {
43
- var _getAll = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
44
- var response, geoServerResponse;
45
- return _regenerator["default"].wrap(function (_context) {
46
- while (1) switch (_context.prev = _context.next) {
47
- case 0:
48
- _context.next = 1;
49
- return (0, _nodeFetch["default"])(this.url + 'namespaces.json', {
50
- credentials: 'include',
51
- method: 'GET',
52
- headers: {
53
- Authorization: this.auth
54
- }
55
- });
56
- case 1:
57
- response = _context.sent;
58
- if (response.ok) {
59
- _context.next = 3;
60
- break;
61
- }
62
- _context.next = 2;
63
- return (0, _geoserver.getGeoServerResponseText)(response);
64
- case 2:
65
- geoServerResponse = _context.sent;
66
- throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
67
- case 3:
68
- return _context.abrupt("return", response.json());
69
- case 4:
70
- case "end":
71
- return _context.stop();
72
- }
73
- }, _callee, this);
74
- }));
75
- function getAll() {
76
- return _getAll.apply(this, arguments);
35
+ async getAll() {
36
+ const response = await (0, _nodeFetch.default)(this.url + 'namespaces.json', {
37
+ credentials: 'include',
38
+ method: 'GET',
39
+ headers: {
40
+ Authorization: this.auth
77
41
  }
78
- return getAll;
79
- }()
80
- /**
81
- * Creates a new namespace.
82
- *
83
- * @param {String} prefix Prefix of the new namespace
84
- * @param {String} uri Uri of the new namespace
85
- *
86
- * @throws Error if request fails
87
- *
88
- * @returns {String} The name of the created namespace
89
- */
90
- )
91
- }, {
92
- key: "create",
93
- value: (function () {
94
- var _create = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(prefix, uri) {
95
- var body, response, geoServerResponse;
96
- return _regenerator["default"].wrap(function (_context2) {
97
- while (1) switch (_context2.prev = _context2.next) {
98
- case 0:
99
- body = {
100
- namespace: {
101
- prefix: prefix,
102
- uri: uri
103
- }
104
- };
105
- _context2.next = 1;
106
- return (0, _nodeFetch["default"])(this.url + 'namespaces', {
107
- credentials: 'include',
108
- method: 'POST',
109
- headers: {
110
- Authorization: this.auth,
111
- 'Content-Type': 'application/json'
112
- },
113
- body: JSON.stringify(body)
114
- });
115
- case 1:
116
- response = _context2.sent;
117
- if (response.ok) {
118
- _context2.next = 3;
119
- break;
120
- }
121
- _context2.next = 2;
122
- return (0, _geoserver.getGeoServerResponseText)(response);
123
- case 2:
124
- geoServerResponse = _context2.sent;
125
- throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
126
- case 3:
127
- return _context2.abrupt("return", response.text());
128
- case 4:
129
- case "end":
130
- return _context2.stop();
131
- }
132
- }, _callee2, this);
133
- }));
134
- function create(_x, _x2) {
135
- return _create.apply(this, arguments);
42
+ });
43
+ if (!response.ok) {
44
+ const geoServerResponse = await (0, _geoserver.getGeoServerResponseText)(response);
45
+ throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
46
+ }
47
+ return response.json();
48
+ }
49
+
50
+ /**
51
+ * Creates a new namespace.
52
+ *
53
+ * @param {String} prefix Prefix of the new namespace
54
+ * @param {String} uri Uri of the new namespace
55
+ *
56
+ * @throws Error if request fails
57
+ *
58
+ * @returns {String} The name of the created namespace
59
+ */
60
+ async create(prefix, uri) {
61
+ const body = {
62
+ namespace: {
63
+ prefix: prefix,
64
+ uri: uri
65
+ }
66
+ };
67
+ const response = await (0, _nodeFetch.default)(this.url + 'namespaces', {
68
+ credentials: 'include',
69
+ method: 'POST',
70
+ headers: {
71
+ Authorization: this.auth,
72
+ 'Content-Type': 'application/json'
73
+ },
74
+ body: JSON.stringify(body)
75
+ });
76
+ if (!response.ok) {
77
+ const geoServerResponse = await (0, _geoserver.getGeoServerResponseText)(response);
78
+ throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
79
+ }
80
+ return response.text();
81
+ }
82
+
83
+ /**
84
+ * Returns a namespace.
85
+ *
86
+ * @param {String} name Name of the namespace
87
+ *
88
+ * @throws Error if request fails
89
+ *
90
+ * @returns {Object} An object describing the namespace or undefined if it cannot be found
91
+ */
92
+ async get(name) {
93
+ const response = await (0, _nodeFetch.default)(this.url + 'namespaces/' + name + '.json', {
94
+ credentials: 'include',
95
+ method: 'GET',
96
+ headers: {
97
+ Authorization: this.auth
136
98
  }
137
- return create;
138
- }()
139
- /**
140
- * Returns a namespace.
141
- *
142
- * @param {String} name Name of the namespace
143
- *
144
- * @throws Error if request fails
145
- *
146
- * @returns {Object} An object describing the namespace or undefined if it cannot be found
147
- */
148
- )
149
- }, {
150
- key: "get",
151
- value: (function () {
152
- var _get = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(name) {
153
- var response, grc, geoServerResponse;
154
- return _regenerator["default"].wrap(function (_context3) {
155
- while (1) switch (_context3.prev = _context3.next) {
156
- case 0:
157
- _context3.next = 1;
158
- return (0, _nodeFetch["default"])(this.url + 'namespaces/' + name + '.json', {
159
- credentials: 'include',
160
- method: 'GET',
161
- headers: {
162
- Authorization: this.auth
163
- }
164
- });
165
- case 1:
166
- response = _context3.sent;
167
- if (response.ok) {
168
- _context3.next = 5;
169
- break;
170
- }
171
- grc = new _about["default"](this.url, this.auth);
172
- _context3.next = 2;
173
- return grc.exists();
174
- case 2:
175
- if (!_context3.sent) {
176
- _context3.next = 3;
177
- break;
178
- }
179
- return _context3.abrupt("return");
180
- case 3:
181
- _context3.next = 4;
182
- return (0, _geoserver.getGeoServerResponseText)(response);
183
- case 4:
184
- geoServerResponse = _context3.sent;
185
- throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
186
- case 5:
187
- return _context3.abrupt("return", response.json());
188
- case 6:
189
- case "end":
190
- return _context3.stop();
191
- }
192
- }, _callee3, this);
193
- }));
194
- function get(_x3) {
195
- return _get.apply(this, arguments);
99
+ });
100
+ if (!response.ok) {
101
+ const grc = new _about.default(this.url, this.auth);
102
+ if (await grc.exists()) {
103
+ // GeoServer exists, but requested item does not exist, we return empty
104
+ return;
105
+ } else {
106
+ // There was a general problem with GeoServer
107
+ const geoServerResponse = await (0, _geoserver.getGeoServerResponseText)(response);
108
+ throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
196
109
  }
197
- return get;
198
- }()
199
- /**
200
- * Deletes a namespace.
201
- *
202
- * @param {String} name Name of the namespace to delete
203
- *
204
- * @throws Error if request fails
205
- */
206
- )
207
- }, {
208
- key: "delete",
209
- value: (function () {
210
- var _delete2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(name) {
211
- var response, geoServerResponse, _t;
212
- return _regenerator["default"].wrap(function (_context4) {
213
- while (1) switch (_context4.prev = _context4.next) {
214
- case 0:
215
- _context4.next = 1;
216
- return (0, _nodeFetch["default"])(this.url + 'namespaces/' + name, {
217
- credentials: 'include',
218
- method: 'DELETE',
219
- headers: {
220
- Authorization: this.auth
221
- }
222
- });
223
- case 1:
224
- response = _context4.sent;
225
- if (response.ok) {
226
- _context4.next = 7;
227
- break;
228
- }
229
- _context4.next = 2;
230
- return (0, _geoserver.getGeoServerResponseText)(response);
231
- case 2:
232
- geoServerResponse = _context4.sent;
233
- _t = response.status;
234
- _context4.next = _t === 403 ? 3 : _t === 404 ? 4 : _t === 405 ? 5 : 6;
235
- break;
236
- case 3:
237
- throw new _geoserver.GeoServerResponseError('Namespace or related Workspace is not empty (and recurse not true)', geoServerResponse);
238
- case 4:
239
- throw new _geoserver.GeoServerResponseError("Namespace doesn't exist", geoServerResponse);
240
- case 5:
241
- throw new _geoserver.GeoServerResponseError("Can't delete default namespace", geoServerResponse);
242
- case 6:
243
- throw new _geoserver.GeoServerResponseError('Response not recognized', geoServerResponse);
244
- case 7:
245
- case "end":
246
- return _context4.stop();
247
- }
248
- }, _callee4, this);
249
- }));
250
- function _delete(_x4) {
251
- return _delete2.apply(this, arguments);
110
+ }
111
+ return response.json();
112
+ }
113
+
114
+ /**
115
+ * Deletes a namespace.
116
+ *
117
+ * @param {String} name Name of the namespace to delete
118
+ *
119
+ * @throws Error if request fails
120
+ */
121
+ async delete(name) {
122
+ const response = await (0, _nodeFetch.default)(this.url + 'namespaces/' + name, {
123
+ credentials: 'include',
124
+ method: 'DELETE',
125
+ headers: {
126
+ Authorization: this.auth
127
+ }
128
+ });
129
+ if (!response.ok) {
130
+ const geoServerResponse = await (0, _geoserver.getGeoServerResponseText)(response);
131
+ switch (response.status) {
132
+ case 403:
133
+ throw new _geoserver.GeoServerResponseError('Namespace or related Workspace is not empty (and recurse not true)', geoServerResponse);
134
+ case 404:
135
+ throw new _geoserver.GeoServerResponseError("Namespace doesn't exist", geoServerResponse);
136
+ case 405:
137
+ throw new _geoserver.GeoServerResponseError("Can't delete default namespace", geoServerResponse);
138
+ default:
139
+ throw new _geoserver.GeoServerResponseError('Response not recognized', geoServerResponse);
252
140
  }
253
- return _delete;
254
- }())
255
- }]);
256
- }();
141
+ }
142
+ }
143
+ }
144
+ exports.default = NamespaceClient;
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports["default"] = void 0;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
7
+ exports.default = void 0;
12
8
  var _nodeFetch = _interopRequireDefault(require("node-fetch"));
13
9
  var _geoserver = require("./util/geoserver.js");
14
10
  /**
@@ -17,15 +13,14 @@ var _geoserver = require("./util/geoserver.js");
17
13
  *
18
14
  * @module ResetReloadClient
19
15
  */
20
- var ResetReloadClient = exports["default"] = /*#__PURE__*/function () {
16
+ class ResetReloadClient {
21
17
  /**
22
18
  * Creates a GeoServer REST ResetReloadClient instance.
23
19
  *
24
20
  * @param {String} url The URL of the GeoServer REST API endpoint
25
21
  * @param {String} auth The Basic Authentication string
26
22
  */
27
- function ResetReloadClient(url, auth) {
28
- (0, _classCallCheck2["default"])(this, ResetReloadClient);
23
+ constructor(url, auth) {
29
24
  this.url = url;
30
25
  this.auth = auth;
31
26
  }
@@ -39,92 +34,42 @@ var ResetReloadClient = exports["default"] = /*#__PURE__*/function () {
39
34
  *
40
35
  * @throws Error if request fails
41
36
  */
42
- return (0, _createClass2["default"])(ResetReloadClient, [{
43
- key: "reset",
44
- value: (function () {
45
- var _reset = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
46
- var url, response, geoServerResponse;
47
- return _regenerator["default"].wrap(function (_context) {
48
- while (1) switch (_context.prev = _context.next) {
49
- case 0:
50
- url = this.url + 'reset';
51
- _context.next = 1;
52
- return (0, _nodeFetch["default"])(url, {
53
- credentials: 'include',
54
- method: 'POST',
55
- headers: {
56
- Authorization: this.auth
57
- }
58
- });
59
- case 1:
60
- response = _context.sent;
61
- if (response.ok) {
62
- _context.next = 3;
63
- break;
64
- }
65
- _context.next = 2;
66
- return (0, _geoserver.getGeoServerResponseText)(response);
67
- case 2:
68
- geoServerResponse = _context.sent;
69
- throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
70
- case 3:
71
- case "end":
72
- return _context.stop();
73
- }
74
- }, _callee, this);
75
- }));
76
- function reset() {
77
- return _reset.apply(this, arguments);
37
+ async reset() {
38
+ const url = this.url + 'reset';
39
+ const response = await (0, _nodeFetch.default)(url, {
40
+ credentials: 'include',
41
+ method: 'POST',
42
+ headers: {
43
+ Authorization: this.auth
78
44
  }
79
- return reset;
80
- }()
81
- /**
82
- * Reloads the GeoServer catalog and configuration from disk. This operation
83
- * is used in cases where an external tool has modified the on-disk
84
- * configuration. This operation will also force GeoServer to drop any
85
- * internal caches and reconnect to all data stores.
86
- *
87
- * @throws Error if request fails
88
- */
89
- )
90
- }, {
91
- key: "reload",
92
- value: (function () {
93
- var _reload = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
94
- var url, response, geoServerResponse;
95
- return _regenerator["default"].wrap(function (_context2) {
96
- while (1) switch (_context2.prev = _context2.next) {
97
- case 0:
98
- url = this.url + 'reload';
99
- _context2.next = 1;
100
- return (0, _nodeFetch["default"])(url, {
101
- credentials: 'include',
102
- method: 'POST',
103
- headers: {
104
- Authorization: this.auth
105
- }
106
- });
107
- case 1:
108
- response = _context2.sent;
109
- if (response.ok) {
110
- _context2.next = 3;
111
- break;
112
- }
113
- _context2.next = 2;
114
- return (0, _geoserver.getGeoServerResponseText)(response);
115
- case 2:
116
- geoServerResponse = _context2.sent;
117
- throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
118
- case 3:
119
- case "end":
120
- return _context2.stop();
121
- }
122
- }, _callee2, this);
123
- }));
124
- function reload() {
125
- return _reload.apply(this, arguments);
45
+ });
46
+ if (!response.ok) {
47
+ const geoServerResponse = await (0, _geoserver.getGeoServerResponseText)(response);
48
+ throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
49
+ }
50
+ }
51
+
52
+ /**
53
+ * Reloads the GeoServer catalog and configuration from disk. This operation
54
+ * is used in cases where an external tool has modified the on-disk
55
+ * configuration. This operation will also force GeoServer to drop any
56
+ * internal caches and reconnect to all data stores.
57
+ *
58
+ * @throws Error if request fails
59
+ */
60
+ async reload() {
61
+ const url = this.url + 'reload';
62
+ const response = await (0, _nodeFetch.default)(url, {
63
+ credentials: 'include',
64
+ method: 'POST',
65
+ headers: {
66
+ Authorization: this.auth
126
67
  }
127
- return reload;
128
- }())
129
- }]);
130
- }();
68
+ });
69
+ if (!response.ok) {
70
+ const geoServerResponse = await (0, _geoserver.getGeoServerResponseText)(response);
71
+ throw new _geoserver.GeoServerResponseError(null, geoServerResponse);
72
+ }
73
+ }
74
+ }
75
+ exports.default = ResetReloadClient;