| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- /* global $, $iq, config, interfaceConfig */
-
- var configUtil = require('./Util');
-
- var HttpConfig = {
- /**
- * Sends HTTP POST request to specified <tt>endpoint</tt>. In request
- * the name of the room is included in JSON format:
- * {
- * "rooomName": "someroom12345"
- * }
- * @param endpoint the name of HTTP endpoint to which HTTP POST request will
- * be sent.
- * @param roomName the name of the conference room for which config will be
- * requested.
- * @param complete
- */
- obtainConfig: function (endpoint, roomName, complete) {
- console.info(
- "Send config request to " + endpoint + " for room: " + roomName);
-
- var request = new XMLHttpRequest();
- var error = null;
- request.onreadystatechange = function (aEvt) {
- if (request.readyState == 4) {
- var status = request.status;
- if (status === 200) {
- try {
- var data = JSON.parse(request.responseText);
- configUtil.overrideConfigJSON(
- config, interfaceConfig, data);
- complete(true);
- return;
- } catch (exception) {
- console.error("Parse config error: ", exception);
- error = exception;
- }
- } else {
- console.error("Get config error: ", request, status);
- error = "Get config response status: " + status;
- }
- complete(false, error);
- }
- };
-
- request.open("POST", endpoint, true);
-
- request.setRequestHeader(
- "Content-Type", "application/json;charset=UTF-8");
-
- request.send({ "roomName": roomName });
- }
- };
-
- module.exports = HttpConfig;
|