1
1
import { CompasSettings } from "../compas/CompasSettings.js" ;
2
+ import { Websockets } from "./Websockets.js" ;
2
3
import {
3
- createLogEvent ,
4
+ getWebsocketUri ,
4
5
handleError ,
5
6
handleResponse ,
6
7
parseXml
7
8
} from "./foundation.js" ;
8
- import { Websockets } from "./Websockets" ;
9
9
10
10
export const SVS_NAMESPACE = 'https://www.lfenergy.org/compas/SclValidatorService/v1' ;
11
11
12
12
export function CompasSclValidatorService ( ) {
13
- function getCompasSettings ( ) {
14
- return CompasSettings ( ) . compasSettings ;
15
- }
16
-
17
- function getWebsocketPort ( ) : string {
18
- if ( document . location . port === "" ) {
19
- return ( document . location . protocol == "http:" ? "80" : "443" )
20
- }
21
- return document . location . port ;
22
- }
23
-
24
- function getWebsocketUri ( ) : string {
25
- const sclValidatorServiceUrl = getCompasSettings ( ) . sclValidatorServiceUrl ;
26
- if ( sclValidatorServiceUrl . startsWith ( "http://" ) || sclValidatorServiceUrl . startsWith ( "https://" ) ) {
27
- return sclValidatorServiceUrl . replace ( "http://" , "ws://" ) . replace ( "https://" , "wss://" ) ;
28
- }
29
-
30
- return ( document . location . protocol == "http:" ? "ws://" : "wss://" )
31
- + document . location . hostname + ":" + getWebsocketPort ( )
32
- + sclValidatorServiceUrl ;
13
+ function getSclValidatorServiceUrl ( ) : string {
14
+ return CompasSettings ( ) . compasSettings . sclValidatorServiceUrl ;
33
15
}
34
16
35
17
function createRequest ( doc : Document ) : string {
@@ -41,11 +23,11 @@ export function CompasSclValidatorService() {
41
23
42
24
return {
43
25
useWebsocket ( ) : boolean {
44
- return getCompasSettings ( ) . useWebsockets === 'on' ;
26
+ return CompasSettings ( ) . useWebsockets ( ) ;
45
27
} ,
46
28
47
29
validateSCLUsingRest ( type : string , doc : Document ) : Promise < Document > {
48
- const svsUrl = getCompasSettings ( ) . sclValidatorServiceUrl + '/validate/v1/' + type ;
30
+ const svsUrl = getSclValidatorServiceUrl ( ) + '/validate/v1/' + type ;
49
31
return fetch ( svsUrl , {
50
32
method : 'POST' ,
51
33
headers : {
@@ -60,20 +42,20 @@ export function CompasSclValidatorService() {
60
42
validateSCLUsingWebsockets ( type : string , doc : Document , callback : ( doc : Document ) => void ) {
61
43
Websockets ( 'CompasValidatorService' )
62
44
. execute (
63
- getWebsocketUri ( ) + '/validate-ws/v1/' + type ,
45
+ getWebsocketUri ( getSclValidatorServiceUrl ( ) ) + '/validate-ws/v1/' + type ,
64
46
createRequest ( doc ) ,
65
47
callback ) ;
66
48
} ,
67
49
68
50
listNsdocFiles ( ) : Promise < Document > {
69
- const svsUrl = getCompasSettings ( ) . sclValidatorServiceUrl + '/nsdoc/v1' ;
51
+ const svsUrl = getSclValidatorServiceUrl ( ) + '/nsdoc/v1' ;
70
52
return fetch ( svsUrl ) . catch ( handleError )
71
53
. then ( handleResponse )
72
54
. then ( parseXml ) ;
73
55
} ,
74
56
75
57
getNsdocFile ( id : string ) : Promise < string > {
76
- const svsUrl = getCompasSettings ( ) . sclValidatorServiceUrl + '/nsdoc/v1/' + id ;
58
+ const svsUrl = getSclValidatorServiceUrl ( ) + '/nsdoc/v1/' + id ;
77
59
return fetch ( svsUrl ) . catch ( handleError )
78
60
. then ( handleResponse ) ;
79
61
} ,
0 commit comments