Skip to content

Commit

Permalink
Merge pull request #209 from com-pas/upgrade-websocket-validator
Browse files Browse the repository at this point in the history
Update validator call for websockets
  • Loading branch information
Dennis Labordus committed Nov 24, 2022
2 parents e933a8d + 3c07a72 commit 0c7246b
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 18 deletions.
36 changes: 19 additions & 17 deletions src/compas-services/CompasValidatorService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,6 @@ export function CompasSclValidatorService() {
return CompasSettings().compasSettings.sclValidatorServiceUrl;
}

function createRequest(doc: Document): string {
return `<?xml version="1.0" encoding="UTF-8"?>
<svs:SclValidateRequest xmlns:svs="${SVS_NAMESPACE}">
<svs:SclData><![CDATA[${new XMLSerializer().serializeToString(
doc.documentElement
)}]]></svs:SclData>
</svs:SclValidateRequest>`;
}

function useWebsocket(): boolean {
return CompasSettings().useWebsockets();
}
Expand All @@ -35,23 +26,34 @@ export function CompasSclValidatorService() {
doc: Document
): Promise<Document> {
if (useWebsocket()) {
return websocket(
element,
'CompasValidatorService',
const request = `<?xml version="1.0" encoding="UTF-8"?>
<svs:SclValidateWsRequest xmlns:svs="${SVS_NAMESPACE}">
<svs:SclData><![CDATA[${new XMLSerializer().serializeToString(
doc.documentElement
)}]]></svs:SclData>
</svs:SclValidateWsRequest>`;
const svsUrl =
getWebsocketUri(getSclValidatorServiceUrl()) +
'/validate-ws/v1/' +
type,
createRequest(doc)
);
'/validate-ws/v1/' +
type;

return websocket(element, 'CompasValidatorService', svsUrl, request);
}

const request = `<?xml version="1.0" encoding="UTF-8"?>
<svs:SclValidateRequest xmlns:svs="${SVS_NAMESPACE}">
<svs:SclData><![CDATA[${new XMLSerializer().serializeToString(
doc.documentElement
)}]]></svs:SclData>
</svs:SclValidateRequest>`;
const svsUrl = getSclValidatorServiceUrl() + '/validate/v1/' + type;

return fetch(svsUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/xml',
},
body: createRequest(doc),
body: request,
})
.catch(handleError)
.then(handleResponse)
Expand Down
2 changes: 1 addition & 1 deletion src/validators/CompasValidateSchema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export default class CompasValidateSchema extends LitElement {

private processValidationResponse(response: Document): void {
const validationErrors = Array.from(
response.querySelectorAll('SclValidateResponse > ValidationErrors') ?? []
response.querySelectorAll('ValidationErrors') ?? []
);
// Check if there are validation errors, if there are we will process them.
if (validationErrors.length > 0) {
Expand Down

0 comments on commit 0c7246b

Please sign in to comment.