ravendb
Version:
RavenDB client for Node.js
44 lines • 1.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultCommandResponseBehavior = void 0;
const AbstractCommandResponseBehavior_js_1 = require("./AbstractCommandResponseBehavior.js");
const index_js_1 = require("../../Exceptions/index.js");
class DefaultCommandResponseBehavior extends AbstractCommandResponseBehavior_js_1.AbstractCommandResponseBehavior {
static INSTANCE = new DefaultCommandResponseBehavior();
constructor() {
super();
// empty
}
async handleNotModified(command, response, cachedValue) {
if (command.responseType === "Object") {
await command.setResponseFromCache(cachedValue);
}
}
async tryHandleNotFound(command, response) {
switch (command.responseType) {
case "Empty": {
return true;
}
case "Object": {
await command.setResponseAsync(null, false);
return true;
}
default: {
command.setResponseRaw(response, null);
break;
}
}
return true;
}
tryHandleConflict(response, body) {
index_js_1.ExceptionDispatcher.throwException(response, body);
return false;
}
tryHandleUnsuccessfulResponse(command, response, body) {
command.onResponseFailure(response);
index_js_1.ExceptionDispatcher.throwException(response, body);
return false;
}
}
exports.DefaultCommandResponseBehavior = DefaultCommandResponseBehavior;
//# sourceMappingURL=DefaultCommandResponseBehavior.js.map