Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/francescogabbrielli/angular2-xmlrpc
An Angular (9+) service which provides XML-RPC communication methods.
https://github.com/francescogabbrielli/angular2-xmlrpc
angular2 xmlrpc
Last synced: 13 days ago
JSON representation
An Angular (9+) service which provides XML-RPC communication methods.
- Host: GitHub
- URL: https://github.com/francescogabbrielli/angular2-xmlrpc
- Owner: francescogabbrielli
- Created: 2021-03-20T19:40:22.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-01-03T10:46:43.000Z (almost 1 year ago)
- Last Synced: 2024-12-09T00:54:02.253Z (25 days ago)
- Topics: angular2, xmlrpc
- Language: TypeScript
- Homepage:
- Size: 30.3 KB
- Stars: 4
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.txt
Awesome Lists containing this project
README
# Angular2-Xmlrpc
An Angular (9+) service which provides XML-RPC communication methods.
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.2.6. Dependencies are requiring Angular 9, but this can probably be easily adapted to anything greater or equal to Angular 2.
This is actually a port from the AngularJS library [Angular-Xmlrpc](https://github.com/ITrust/angular-xmlrpc). **NOTE**: IE support has been dropped altogether.
## Installation
npm install angular2-xmlrpc --save
## How to use it ?
### Configuration
First of all, add a dependency in your module:
``` ts
import { XmlrpcModule } from 'angular2-xmlrpc'@NgModule({
...
imports: [
...
XmlrpcModule
],
...
})
export class AppModule { }
```
You can use it in your application as any other service, and inject it in the constructor as usual.
``` ts
import { XmlrpcService } from 'angular2-xmlrpc'constructor(..., private xmlrpc:XmlrpcService, ...) {
}
```
### XML-RPC Call
There is only one main method to call an XML-RPC method. In order to pass parameters, you have to wrap them in an array:
``` typescript
const xmlrpcCall = this.xmlrpc.callMethod(
'http://localhost:8080/xmlrpc/endpoint',
'method-name',
['string-param-1', 1, {'obj-param-3': {val1: 1, val2: 'x'}}]
)
```
The XML response from the server is wrapped in an `Observable`, and can be parsed to a JS object with the `parseResponse` method:
``` ts
xmlrpcCall.subscribe(data => console.log(this.xmlrpc.parseResponse(data)))
```### Custom Headers
to set custom headers:
``` ts
this.xmlrpc.setHeaders({
'Custom-Header-1': 'Value-1',
'Custom-Header-2': ['Value-2', 'Value-3', 'Value-4']
})
```
- _Note_: this method returns an instance of [HttpHeaders](https://angular.io/api/common/http/HttpHeaders) that will be used in the Angular HTTP request## Build & Test (Developers)
To build the project create an angular workspace (or use an existing one). For example:
ng new ng-workspace --create-application false
Create the library project:
ng generate library angular2-xmlrpc
fetch this repo from inside the project folder and buid it as library module from angular:
ng build angular2-xmlrpc
ng test angular2-xmlrpc