Commit graph

64 commits

Author SHA1 Message Date
Jannis R
9b263bb379
rework error handling 💥📝 2022-11-17 15:17:02 +01:00
Jannis R
0275b65c7a
fetch-ponyfill & pinkie-promise -> cross-fetch 💥
cross-fetch requires `globalThis.Promise` to be present.
2022-11-17 15:17:02 +01:00
Jannis R
7765f9d7a1
lib/request: use async/await, simplify error handling 2022-11-17 15:17:02 +01:00
Jannis R
492fdeb2ef
add profile.randomizeUserAgent flag 📝 2022-11-17 15:17:01 +01:00
Jannis R
7ccffa5e51
profile.log{Request,Response}: pass in random request ID 📝 2022-10-07 01:31:12 +02:00
Jannis R
829c9ca461
add profile.log{Request,Response}() hooks 📝 2022-10-06 14:34:38 +02:00
Jannis R
e3a022972c
request: tweak user-agent randomisation
see also https://github.com/deg0nz/MMM-PublicTransportBerlin/pull/67
2022-01-13 14:08:28 +01:00
Jannis R
9c10a1765f
fix request debug-logging 🐛 2021-12-09 18:58:35 +01:00
Jannis R
2fd06941b5
use HTTP keep-alive
1000 locations() requests against DB endpoint, before:
  min     max   sum   mean  stddev
215ms  4351ms  329s  329ms   341ms

after:
  min     max   sum   mean  stddev
160ms   579ms  194s  194ms    37ms
2021-12-09 18:54:46 +01:00
Jannis R
95d2c61fbd
add todos; readme: link to kpublictransport 📝 2021-12-08 14:12:23 +01:00
Marcel
4492b3a376
request.js: Use correct HttpsAgent option for localAddress 2021-11-01 17:40:09 +01:00
Jannis R
16e0038fa9 lib/request: use profile.defaultLanguage 2021-05-01 10:58:45 +02:00
Jannis R
7cb6210847 lib/request: validate response content-type 🐛 2021-05-01 10:58:45 +02:00
Jannis R
ebe7c59524
lib/request: fix DEBUG env var switch 🐛 2021-02-17 18:33:18 +01:00
Jannis R
cb8d92befb
configure iface address used via LOCAL_ADDRESS env var 2021-02-07 22:17:02 +01:00
Jannis R
51af991e38
lib/request: add profile.(auth|client|ext|ver) to request 2021-01-26 17:26:26 +01:00
Jannis R
4ee062a19d
lib/request: allow string profile.salt 2021-01-26 17:26:26 +01:00
Jannis R
de86391dcd
support HTTP proxies 2020-09-21 13:18:31 +02:00
Jannis R
3c888a0ea0
refreshJourney: actually throw the error 🐛, add code 2020-04-18 17:14:40 +02:00
Jannis R
36a8b388f2
add todos
also remove dead code
2020-03-18 21:45:30 +01:00
Jannis R
c1beb28b85
Error -> TypeError 2020-02-04 18:47:25 +01:00
Jannis R
dfff999406
request: add response ID to error objects 2020-02-04 18:42:11 +01:00
Jannis R
7b7293efea
lib/request: use transformed req body 🐛 2020-01-05 18:10:09 +01:00
Jannis R
252ce5b515
lib/request, index: use ctx object 💥 2020-01-05 18:10:09 +01:00
Jannis R
93814983da
add profile.parseCommon 2020-01-05 17:50:27 +01:00
Jannis R
2e88e964bb client ID: install-unique -> process-unique 2019-08-16 17:57:04 +02:00
Jannis R
b144dd5358 parse & expose error codes 2019-07-08 21:06:43 +02:00
Jannis R
d0f7ca1b6c
follow HTTP redirects, accept br encoding 2019-06-24 18:26:11 +02:00
Jannis R
4a79b91680
parseLocation: L param as fallback ID 2019-02-28 16:45:31 +01:00
Jannis R
d7e439b948
NODE_DEBUG -> DEBUG 💥 2019-02-28 16:45:18 +01:00
Jannis R
b809281d0e
fix error parsing 🐛 2018-12-06 11:31:38 +01:00
Jannis R
a24822d161
fix test output 💚 2018-09-03 15:46:15 +02:00
Jannis R
3c104e2233
debug hook logging request & response 2018-09-03 15:31:22 +02:00
Jannis R
e98cec1734
remove unused code, minor changes 2018-09-03 15:30:42 +02:00
Jannis R
ae31807eb7
better User-Agent randomization 🐛 2018-08-08 18:40:35 +02:00
Jannis R
96c1df5c3a
generate & send install-unique IDs 2018-07-26 19:04:00 +02:00
Jannis R
5d9d738152 mandatory User-Agent param 💥 2018-07-24 18:29:31 +02:00
Jannis R
a475f2048d parse stops and their stations 2018-07-13 16:07:23 +02:00
Jannis R
0199749a31
language option with default 'en' 2018-07-09 12:40:38 +02:00
Jannis R
d9b7df693a
parse hint & warning types using icons
[ci skip]
2018-06-30 18:24:55 +02:00
Jannis R
31973431ff
option not to parse remarks 2018-06-28 13:45:56 +02:00
Jannis R
f5eceafdf3
merge refactor-parse-fns into next 2018-06-26 13:07:06 +02:00
Jannis R
0db84ce644
merge remarks into next 2018-06-25 13:20:13 +02:00
Jannis R
b6fbaa5825
parse fns: opt param 💥
- parseLine
- parseDeparture
- parseJourney
- parseJourneyLeg
- parseLocation
- parseMovement
- parseNearby
- parseStopover
2018-06-13 20:05:33 +02:00
Jannis R
a45d640272
request fn: opt param 💥 2018-06-13 20:05:33 +02:00
Jannis R
8881d8a1a4
parse fns: individual params -> data object 💥
From now on, all higher-level parse fns will be able to access more
of the response data while keeping their signature.

- parseLine
- parseDeparture
- parseJourney
- parseJourneyLeg
- parseLocation
- parseMovement
- parsePolyline
- parseNearby
- parseStopover
2018-06-13 20:05:24 +02:00
Jannis R
d909be3b65
parseWarning 2018-06-07 18:46:44 +02:00
Jannis R
d2257c26ff
rename d.remarks -> d.hints, parseRemark -> parseHint
HAFAS returns notes for journey legs, stopovers and departures.

There are two kinds of notes: "remarks" (in `remL`) and HAFAS
Information Manager (HIM) notes (in `himL`). The former describe
the regular operating situation, e.g. "bicycles allows", whereas
the latter describe cancellations, construction work, etc.

The planned naming scheme for hafas-client:
- hints: notes from `remL` for regular operation
- warnings: notes from `himL` for cancellations, construction, etc
- remarks: both "notes" and "warnings"

This commit prepares the new naming scheme by renaming the
existing parsing logic of `remL` to "hints". Follow-up commits
will add `parseWarning`.
2018-06-07 16:34:50 +02:00
Jannis R
a7c550ab69
send Accept: application/json 🐛 2018-06-07 12:13:31 +02:00
Jannis R
00b1eb387c
crypto.createHash -> create-hash, 2.7.3
closes #52
2018-05-24 10:29:50 +02:00