forked from friendica/friendica-addons
20862be7d0
- slim/slim: ^3.1 - symfony/expression-language: ^3.4 - fxp/composer-asset-plugin: ~1.3 - bower-asset/vue: ^2.5 - bower-asset/vue-resource: ^1.5
39 lines
719 B
JavaScript
39 lines
719 B
JavaScript
/**
|
|
* HTTP Request.
|
|
*/
|
|
|
|
import Url from '../url/index';
|
|
import Headers from './headers';
|
|
import Response from './response';
|
|
import {assign, toUpper} from '../util';
|
|
|
|
export default class Request {
|
|
|
|
constructor(options) {
|
|
|
|
this.body = null;
|
|
this.params = {};
|
|
|
|
assign(this, options, {
|
|
method: toUpper(options.method || 'GET')
|
|
});
|
|
|
|
if (!(this.headers instanceof Headers)) {
|
|
this.headers = new Headers(this.headers);
|
|
}
|
|
}
|
|
|
|
getUrl() {
|
|
return Url(this);
|
|
}
|
|
|
|
getBody() {
|
|
return this.body;
|
|
}
|
|
|
|
respondWith(body, options) {
|
|
return new Response(body, assign(options || {}, {url: this.getUrl()}));
|
|
}
|
|
|
|
}
|