openvidu clients: if 409 on createSession return Session object (not reject)

pull/73/head
pabloFuente 2018-05-08 14:49:42 +02:00
parent d147ea317d
commit e7c6b9ebf9
9 changed files with 27 additions and 25 deletions

View File

@ -179,6 +179,9 @@ public class Session {
System.out.println("Returning a SESSIONID"); System.out.println("Returning a SESSIONID");
String id = (String) httpResponseToJson(response).get("id"); String id = (String) httpResponseToJson(response).get("id");
this.sessionId = id; this.sessionId = id;
} else if (statusCode == org.apache.http.HttpStatus.SC_CONFLICT) {
// 'customSessionId' already existed
this.sessionId = properties.customSessionId();
} else { } else {
throw new OpenViduHttpException(statusCode); throw new OpenViduHttpException(statusCode);
} }

View File

@ -152,7 +152,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L55">OpenVidu.ts:55</a></li> <li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L53">OpenVidu.ts:53</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -167,11 +167,7 @@
</li> </li>
</ul> </ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="session.html" class="tsd-signature-type">Session</a><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="session.html" class="tsd-signature-type">Session</a><span class="tsd-signature-symbol">&gt;</span></h4>
<p>A Promise that is resolved to the <a href="session.html">Session</a> if success and rejected with an Error object if not. <p>A Promise that is resolved to the <a href="session.html">Session</a> if success and rejected with an Error object if not.</p>
This Error object has as <code>message</code> property with the following values:</p>
<ul>
<li><code>409</code>: you are trying to assign an already-in-use custom sessionId to the session. See <a href="../interfaces/sessionproperties.html#customsessionid">SessionProperties.customSessionId</a></li>
</ul>
</li> </li>
</ul> </ul>
</section> </section>
@ -185,7 +181,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L309">OpenVidu.ts:309</a></li> <li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L307">OpenVidu.ts:307</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -220,7 +216,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L210">OpenVidu.ts:210</a></li> <li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L208">OpenVidu.ts:208</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -255,7 +251,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L255">OpenVidu.ts:255</a></li> <li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L253">OpenVidu.ts:253</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -280,7 +276,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L68">OpenVidu.ts:68</a></li> <li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L66">OpenVidu.ts:66</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -311,7 +307,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L69">OpenVidu.ts:69</a></li> <li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L67">OpenVidu.ts:67</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -350,7 +346,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L70">OpenVidu.ts:70</a></li> <li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L68">OpenVidu.ts:68</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -393,7 +389,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L162">OpenVidu.ts:162</a></li> <li>Defined in <a href="https://github.com/OpenVidu/openvidu/tree/master/openvidu-node-client/src/OpenVidu.ts#L160">OpenVidu.ts:160</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">

View File

@ -19,8 +19,6 @@ export declare class OpenVidu {
* Creates an OpenVidu session. You can call [[Session.getSessionId]] in the resolved promise to retrieve the `sessionId` * Creates an OpenVidu session. You can call [[Session.getSessionId]] in the resolved promise to retrieve the `sessionId`
* *
* @returns A Promise that is resolved to the [[Session]] if success and rejected with an Error object if not. * @returns A Promise that is resolved to the [[Session]] if success and rejected with an Error object if not.
* This Error object has as `message` property with the following values:
* - `409`: you are trying to assign an already-in-use custom sessionId to the session. See [[SessionProperties.customSessionId]]
*/ */
createSession(properties?: SessionProperties): Promise<Session>; createSession(properties?: SessionProperties): Promise<Session>;
startRecording(sessionId: string): Promise<Recording>; startRecording(sessionId: string): Promise<Recording>;

View File

@ -36,8 +36,6 @@ var OpenVidu = /** @class */ (function () {
* Creates an OpenVidu session. You can call [[Session.getSessionId]] in the resolved promise to retrieve the `sessionId` * Creates an OpenVidu session. You can call [[Session.getSessionId]] in the resolved promise to retrieve the `sessionId`
* *
* @returns A Promise that is resolved to the [[Session]] if success and rejected with an Error object if not. * @returns A Promise that is resolved to the [[Session]] if success and rejected with an Error object if not.
* This Error object has as `message` property with the following values:
* - `409`: you are trying to assign an already-in-use custom sessionId to the session. See [[SessionProperties.customSessionId]]
*/ */
OpenVidu.prototype.createSession = function (properties) { OpenVidu.prototype.createSession = function (properties) {
var _this = this; var _this = this;

File diff suppressed because one or more lines are too long

View File

@ -52,8 +52,8 @@ var Session = /** @class */ (function () {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
var requestBody = JSON.stringify({ var requestBody = JSON.stringify({
session: _this.sessionId, session: _this.sessionId,
role: !!tokenOptions.role ? tokenOptions.role : OpenViduRole_1.OpenViduRole.PUBLISHER, role: (!!tokenOptions && !!tokenOptions.role) ? tokenOptions.role : OpenViduRole_1.OpenViduRole.PUBLISHER,
data: !!tokenOptions.data ? tokenOptions.data : '' data: (!!tokenOptions && !!tokenOptions.data) ? tokenOptions.data : ''
}); });
var options = { var options = {
hostname: _this.hostname, hostname: _this.hostname,
@ -131,6 +131,11 @@ var Session = /** @class */ (function () {
_this.sessionId = parsed.id; _this.sessionId = parsed.id;
resolve(parsed.id); resolve(parsed.id);
} }
else if (res.statusCode === 409) {
// 'customSessionId' already existed
_this.sessionId = _this.properties.customSessionId;
resolve(_this.sessionId);
}
else { else {
// ERROR response from openvidu-server. Resolve HTTP status // ERROR response from openvidu-server. Resolve HTTP status
reject(new Error(res.statusCode)); reject(new Error(res.statusCode));

View File

@ -1 +1 @@
{"version":3,"file":"Session.js","sourceRoot":"","sources":["../src/Session.ts"],"names":[],"mappings":"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"} {"version":3,"file":"Session.js","sourceRoot":"","sources":["../src/Session.ts"],"names":[],"mappings":"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"}

View File

@ -49,8 +49,6 @@ export class OpenVidu {
* Creates an OpenVidu session. You can call [[Session.getSessionId]] in the resolved promise to retrieve the `sessionId` * Creates an OpenVidu session. You can call [[Session.getSessionId]] in the resolved promise to retrieve the `sessionId`
* *
* @returns A Promise that is resolved to the [[Session]] if success and rejected with an Error object if not. * @returns A Promise that is resolved to the [[Session]] if success and rejected with an Error object if not.
* This Error object has as `message` property with the following values:
* - `409`: you are trying to assign an already-in-use custom sessionId to the session. See [[SessionProperties.customSessionId]]
*/ */
public createSession(properties?: SessionProperties): Promise<Session> { public createSession(properties?: SessionProperties): Promise<Session> {
return new Promise<Session>((resolve, reject) => { return new Promise<Session>((resolve, reject) => {

View File

@ -60,8 +60,8 @@ export class Session {
const requestBody = JSON.stringify({ const requestBody = JSON.stringify({
session: this.sessionId, session: this.sessionId,
role: !!tokenOptions.role ? tokenOptions.role : OpenViduRole.PUBLISHER, role: (!!tokenOptions && !!tokenOptions.role) ? tokenOptions.role : OpenViduRole.PUBLISHER,
data: !!tokenOptions.data ? tokenOptions.data : '' data: (!!tokenOptions && !!tokenOptions.data) ? tokenOptions.data : ''
}); });
const options = { const options = {
@ -144,6 +144,10 @@ export class Session {
const parsed = JSON.parse(body); const parsed = JSON.parse(body);
this.sessionId = parsed.id; this.sessionId = parsed.id;
resolve(parsed.id); resolve(parsed.id);
} else if (res.statusCode === 409) {
// 'customSessionId' already existed
this.sessionId = this.properties.customSessionId;
resolve(this.sessionId);
} else { } else {
// ERROR response from openvidu-server. Resolve HTTP status // ERROR response from openvidu-server. Resolve HTTP status
reject(new Error(res.statusCode)); reject(new Error(res.statusCode));