From 567a0f7a2f248cd25b8a5e0e357f9b10c16a9036 Mon Sep 17 00:00:00 2001 From: schneefux Date: Tue, 1 May 2018 20:26:07 +0200 Subject: Retrieve schedule for current week, add course config var (closes #3) --- src/sources/HttpSource.ts | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'src/sources/HttpSource.ts') diff --git a/src/sources/HttpSource.ts b/src/sources/HttpSource.ts index 45ddd7a..f9391aa 100644 --- a/src/sources/HttpSource.ts +++ b/src/sources/HttpSource.ts @@ -1,22 +1,23 @@ -import {get} from 'http'; +import * as request from 'request-promise-native'; import {ISource} from './ISource'; export class HttpSource implements ISource { - private _uri: string; + private _base_uri = 'http://splus.ostfalia.de/semesterplan123.php'; - constructor(path: string) { - this._uri = path; + constructor(private _course: string) { } - getData(): Promise { - return new Promise((resolve, reject) => { - get(this._uri, (res) => { - let data = ''; - res.on('error', reject); - res.on('data', chunk => data += chunk); - res.on('end', () => resolve(data)); - }); + getData(weekOfYear: number): PromiseLike { + return request({ + method: 'POST', + uri: this._base_uri, + qs: { + identifier: this._course, + }, + formData: { + weeks: weekOfYear.toString(), + }, }); } } -- cgit v1.3.1