ravendb
Version:
RavenDB client for Node.js
40 lines • 1.38 kB
JavaScript
import { AbstractCommandResponseBehavior } from "./AbstractCommandResponseBehavior.js";
import { ExceptionDispatcher } from "../../Exceptions/index.js";
export class DefaultCommandResponseBehavior extends 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) {
ExceptionDispatcher.throwException(response, body);
return false;
}
tryHandleUnsuccessfulResponse(command, response, body) {
command.onResponseFailure(response);
ExceptionDispatcher.throwException(response, body);
return false;
}
}
//# sourceMappingURL=DefaultCommandResponseBehavior.js.map