feat: parse and run REST request params

* package-lock.json:
This commit is contained in:
Andrew Bastin
2021-07-20 18:53:24 -04:00
parent 1573ddad1b
commit cd908ae1b2
2 changed files with 13 additions and 4 deletions

View File

@@ -60,12 +60,17 @@ export function createRESTNetworkRequestStream(
return Object.assign(acc, { [key]: value }) return Object.assign(acc, { [key]: value })
}, {}) }, {})
const params = req.effectiveFinalParams.reduce((acc, { key, value }) => {
return Object.assign(acc, { [key]: value })
}, {})
const timeStart = Date.now() const timeStart = Date.now()
runAppropriateStrategy({ runAppropriateStrategy({
method: req.method as any, method: req.method as any,
url: req.effectiveFinalURL, url: req.effectiveFinalURL,
headers, headers,
params,
}) })
.then((res: any) => { .then((res: any) => {
const timeEnd = Date.now() const timeEnd = Date.now()

View File

@@ -11,6 +11,7 @@ export interface EffectiveHoppRESTRequest extends HoppRESTRequest {
*/ */
effectiveFinalURL: string effectiveFinalURL: string
effectiveFinalHeaders: { key: string; value: string }[] effectiveFinalHeaders: { key: string; value: string }[]
effectiveFinalParams: { key: string; value: string }[]
} }
/** /**
@@ -24,7 +25,7 @@ export interface EffectiveHoppRESTRequest extends HoppRESTRequest {
export function getEffectiveRESTRequest( export function getEffectiveRESTRequest(
request: HoppRESTRequest, request: HoppRESTRequest,
_environment: Environment _environment: Environment
) { ): EffectiveHoppRESTRequest {
// TODO: Change this // TODO: Change this
return { return {
...request, ...request,
@@ -34,6 +35,11 @@ export function getEffectiveRESTRequest(
x.key !== "" && // Remove empty keys x.key !== "" && // Remove empty keys
x.active // Only active x.active // Only active
), ),
effectiveFinalParams: request.params.filter(
(x) =>
x.key !== "" && // Remove empty keys
x.active // Only active
),
} }
} }
@@ -51,8 +57,6 @@ export function getEffectiveRESTRequestStream(
environment$: Observable<Environment> environment$: Observable<Environment>
): Observable<EffectiveHoppRESTRequest> { ): Observable<EffectiveHoppRESTRequest> {
return combineLatest([request$, environment$]).pipe( return combineLatest([request$, environment$]).pipe(
map(([request, env]) => { map(([request, env]) => getEffectiveRESTRequest(request, env))
return getEffectiveRESTRequest(request, env)
})
) )
} }