Hey there,
I'am going to write an Angular2-Module for Plesk API for my own small Needs.
I noticed that Plesk don't Support the CORS preflight OPTIONS request: https://www.html5rocks.com/en/tutorials/cors/
Is there any Option to allow that request so I can continue my work?
(For this development I have rent an own vServer with en web host licence. Would be bad to stop now for unknown time.)
This is my current Code:
And then outside of that module:
I'am going to write an Angular2-Module for Plesk API for my own small Needs.
I noticed that Plesk don't Support the CORS preflight OPTIONS request: https://www.html5rocks.com/en/tutorials/cors/
Is there any Option to allow that request so I can continue my work?
(For this development I have rent an own vServer with en web host licence. Would be bad to stop now for unknown time.)
This is my current Code:
Code:
private getHeaders(): RequestOptions {
let headers: Headers = new Headers();
headers.append('Content-Type', 'text/xml');
headers.append('HTTP_PRETTY_PRINT', 'TRUE');
headers.append('HTTP_AUTH_LOGIN', this.user);
headers.append('HTTP_AUTH_PASSWD', this.password);
headers.append('Access-Control-Allow-Origin', '*');
return new RequestOptions({
headers: headers
});
}
private request(request: string, version: string): Observable<Response> {
let template: string = '<?xml version="1.0" encoding="UTF-8"?><packet version="%s">%s</packet>';
request = sprintf(template, version, request);
let url = sprintf('https://%s.%s', this.prefix, this.postfix);
return this.http.post(url, request, this.getHeaders());
}
public createClient(company: string, lastname: string, firstname: string, user: string, password: string, callback: Function) {
let template: string = "<customer><add><gen_info><cname>%s</cname><pname>%s %s</pname><login>%s</login><passwd>%s</passwd><status>0</status><country>DE</country></gen_info></add></customer>";
let request: string = sprintf(template, company, lastname, firstname, user, password);
this.request(request, '1.6.5.0').map((response: Response) => response.text()).subscribe(function (data: string) {
console.log(data);
callback();
});
}
And then outside of that module:
Code:
generateHostingPackage() {
let plesk: Plesk = this.plesk;
plesk.createClient(this.company, this.lastname, this.firstname, this.user, this.pw, function () {
console.log('ready');
});
}