awesome-cordova-plugins/src/plugins/httpd.ts

66 lines
1.7 KiB
TypeScript
Raw Normal View History

2016-07-18 01:53:58 +08:00
import { Cordova, Plugin } from './plugin';
import { Observable } from 'rxjs/Observable';
2016-06-11 12:33:02 +08:00
/**
* @name Httpd
* @description
* Embedded httpd for Cordova apps. Light weight HTTP server.
2016-06-11 14:34:08 +08:00
* @usage
2016-06-11 12:33:02 +08:00
*/
@Plugin({
2016-07-18 01:53:58 +08:00
plugin: 'https://github.com/floatinghotpot/cordova-httpd.git',
pluginRef: 'cordova.plugins.CorHttpd',
repo: 'https://github.com/floatinghotpot/cordova-httpd',
platforms: ['iOS', 'Android']
2016-06-11 12:33:02 +08:00
})
export class Httpd {
2016-07-18 01:53:58 +08:00
/**
* Starts a web server.
* @returns {Observable<string>} Returns an Observable. Subscribe to receive the URL for your web server (if succeeded). Unsubscribe to stop the server.
* @param options {HttpdOptions}
*/
@Cordova({
observable: true,
clearFunction: 'stopServer'
})
static startServer(options: any): Observable<string> { return; }
/**
* Gets the URL of the running server
* @returns {Promise<string>} Returns a promise that resolves with the URL of the web server.
*/
@Cordova()
static getUrl(): Promise<string> { return; }
2016-06-11 12:33:02 +08:00
2016-07-18 01:53:58 +08:00
/**
* Get the local path of the running webserver
* @returns {Promise<string>} Returns a promise that resolves with the local path of the web server.
*/
@Cordova()
static getLocalPath(): Promise<string> { return; }
2016-06-11 12:33:02 +08:00
}
2016-07-18 01:53:58 +08:00
2016-06-11 12:33:02 +08:00
/**
* These options are used for the Httpd.startServer() function.
*/
export interface HttpdOptions {
2016-07-18 01:53:58 +08:00
/**
* The public root directory for your web server. This path is relative to your app's www directory.
* Default is current directory.
*/
www_root?: string;
/**
* The port number to use.
* Default is 8888
*/
port?: number;
/**
* Setting this option to false will allow remote access to your web server (over any IP).
* Default is false.
*/
localhost_only?: boolean;
}