public static paymentComplete(
         checkoutSession: Payment.ICheckoutConversationSession,
         paymentRequest: Payment.IPaymentRequest,
         shippingAddress: Payment.IPaymentAddress,
         shippingOptionId: string,
         payerEmail: string,
         payerPhone: string,
         cb: (err, statusCode: number, body: Payment.IPaymentRequestCompleteResult) => void) {
     const settings = getSettings();
     let options: request.OptionsWithUrl = {
         url: `${this.serviceUrl}/emulator/${settings.conversation.conversationId}/invoke/paymentComplete`,
         method: "POST",
         json: [{ checkoutSession: checkoutSession, request: paymentRequest, shippingAddress: shippingAddress, shippingOptionId: shippingOptionId, payerEmail: payerEmail, payerPhone: payerPhone }],
     };
     let responseCallback = (err, resp: http.IncomingMessage, body) => {
         cb(err, resp.statusCode, body as Payment.IPaymentRequestCompleteResult);
     };
     request(options, responseCallback);
 }
Example #2
0
File: http.ts Project: 2fd/graphdoc
    return new Bluebird<Schema>((resolve, reject) => {
        request(options, function (error, res, body: Introspection | string) {

            if (error)
                return reject(error);

            if ((res.statusCode as number) >= 400)
                return reject(new Error(
                    'Unexpected HTTP Status Code ' + res.statusCode +
                    ' (' + res.statusMessage + ') from: ' + options.url
                ));

            if (typeof body === 'string')
                return reject(new Error(
                    'Unexpected response from "' + options.url + '": ' + body.slice(0, 10) + '...'
                ));

            return resolve(body.data.__schema);
        });
    });
Example #3
0
    return new Promise<boolean>((resolve, reject) => {
        request({
            method: 'POST',
            uri: GOOGLE_RECAPTCHA_ENDPOINT,
            formData: { response, remoteip,
                secret: GOOGLE_RECAPTCHA_SECRET }
        }, (err, res, body) => {
            var [ parse_err, check ] = try_func(() => JSON.parse(body));

            if (err) {
                reject(err);
            } else if (parse_err) {
                reject(new BadGatewayError(ERR_MSG_PARSING_ERROR('google')));
            } else if (!check.success) {
                reject(new BadRequestError('failed to verify recaptcha'));
            } else {
                resolve(true);
            }
        });
    });
Example #4
0
 return new Promise((resolve, reject) => {
   let timeout = getTimeoutInMilliseconds(controlType);
   let encoding: any = activeType === ActiveType.Blob ? null : 'utf8';
   let data = {encoding, form: formData, gzip: true, headers, jar: true, method: activeMethod, timeout, url: address};
   request(data, (error, response, body) => {
     if (!error && response.statusCode === 200) {
       if (activeType === ActiveType.Json) {
         // TODO: This parse can throw an error, which is not caught.
         resolve(JSON.parse(body));
       } else {
         resolve(body);
       }
     } else {
       reject(new mio.HttpServiceError({
         body: String(body || ''),
         statusCode: response.statusCode || 0
       }, `Invalid HTTP response: ${address}`));
     }
   });
 });
 return new Promise<CandleList>((resolve,reject) => {
     request({uri,qs:{env,format,q},json:true},(error, response, body) => {
         if(error){
             reject(error);
         } else if(!body.query || typeof body.query.count === 'undefined' || body.query.count === null){
             reject('unexpected-error');
         } else if(body.query.count === 0){
             resolve(new CandleList([]));
         } else {
             const data = body.query.results.quote.filter(datum => !!parseFloat(datum.Volume));
             if(data.length < CANDLES_TO_FETCH){
                 reject('insufficient-data');
             } else {
                 resolve(new CandleList(
                     data.map(datum => transformCandleData(datum)).reverse()
                 ));
             }
         }
     });
 });
    return new Promise<string>((resolve, reject) => {
        let options = {
            uri,
            headers: {
                "User-Agent": "Node Reddit Server v0.4"
            }
        };
        request(options, (error, response, body) => {
            if (error) {
                reject(error);
            }

            else if (response.statusCode !== 200) {
                reject(response.statusCode);
            }
            else {
                resolve(body);
            }
        });
    });
Example #7
0
		}, req.user).then((file: any) => {
			if (file.dataSize > ((1024 * 1024) * 10)) {
				return res.status(500).send('big-data');
			}
			request({
				url: file.url,
				encoding: null
			}, (getFileErr: any, response: http.IncomingMessage, body: Buffer) => {
				if (getFileErr !== null) {
					console.error(getFileErr);
					return res.status(500).send(getFileErr.body);
				}
				gm(body, file.name)
				.crop(trimW, trimH, trimX, trimY)
				.toBuffer('png', (err: Error, buffer: Buffer) => {
					if (err !== null) {
						console.error(err);
						return res.status(500).send('something-happened');
					}
					requestApi('album/files/upload', {
						file: {
							value: buffer,
							options: {
								filename: `${file.name}.cropped.png`,
								contentType: 'image/png'
							}
						}
					}, req.user, true).then((albumFile: any) => {
						requestApi('account/avatar/update', {
							'file-id': albumFile.id
						}, req.user).then((me: Object) => {
							res.send('success');
						}, (updateErr: any) => {
							return res.status(500).send(updateErr.body);
						});
					}, (uploadErr: any) => {
						return res.status(500).send(uploadErr.body);
					});
				});
			});
		});
Example #8
0
	return new Promise<void>((resolve, reject) => {
		request({
			url: 'https://www.google.com/recaptcha/api/siteverify',
			method: 'POST',
			form: {
				'secret': config.recaptchaSecretKey,
				'response': response
			}
		}, (err, response, body) => {
			if (err !== null) {
				reject('request-failed');
				return;
			}
			const parsed: any = JSON.parse(body);
			if (parsed.success) {
				resolve();
			} else {
				reject('recaptcha-failed');
			}
		});
	});
Example #9
0
  return new Promise((resolve, reject) => {
    request(options, (error, response, body) => {
      if (error) {
        reject(error)
        return
      }

      if (response.statusCode !== 200) {
        reject(
          new Error(
            `Received a non-200 response (${
              response.statusCode
            }): ${JSON.stringify(body)}`
          )
        )
        return
      }

      resolve()
    })
  })
 return new Promise<http.Server>((resolve, reject) => {
   request(
     {
       url: uri,
       method: 'GET',
       headers: {
         accept:
           'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
       },
     },
     (error, response, body) => {
       if (error) {
         reject(error);
       } else {
         expect(body).toMatch('GraphQLPlayground');
         expect(response.statusCode).toEqual(200);
         resolve();
       }
     },
   );
 });