diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f68538e..1c265e2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,7 +7,7 @@ on: - '**.md' pull_request: paths-ignore: - - '**.md' + - '**.md' jobs: diff --git a/LICENSE b/LICENSE index d1ba4ff..5823a51 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Typed Rest Client for Node.js +Actions Http Client for Node.js Copyright (c) GitHub, Inc. diff --git a/__tests__/auth.test.ts b/__tests__/auth.test.ts index a194e70..b981c8b 100644 --- a/__tests__/auth.test.ts +++ b/__tests__/auth.test.ts @@ -1,6 +1,5 @@ -import * as httpm from '../_out'; -import * as path from 'path'; -import * as am from '../_out/auth'; +import * as httpm from '../'; +import * as am from '../auth'; describe('auth', () => { beforeEach(() => { diff --git a/__tests__/basics.test.ts b/__tests__/basics.test.ts index 0706162..ed4a4a0 100644 --- a/__tests__/basics.test.ts +++ b/__tests__/basics.test.ts @@ -1,14 +1,11 @@ -import * as httpm from '../_out'; +import * as httpm from '../'; import * as path from 'path'; -import * as am from '../_out/auth'; import * as fs from 'fs'; -import { connect } from 'http2'; let sampleFilePath: string = path.join(__dirname, 'testoutput.txt'); describe('basics', () => { let _http: httpm.HttpClient; - let _httpbin: httpm.HttpClient; beforeEach(() => { _http = new httpm.HttpClient('http-client-tests'); diff --git a/__tests__/keepalive.test.ts b/__tests__/keepalive.test.ts index 1afe802..c7183fe 100644 --- a/__tests__/keepalive.test.ts +++ b/__tests__/keepalive.test.ts @@ -1,13 +1,7 @@ -import * as httpm from '../_out'; -import * as path from 'path'; -import * as am from '../_out/auth'; -import * as fs from 'fs'; - -let sampleFilePath: string = path.join(__dirname, 'testoutput.txt'); +import * as httpm from '../'; describe('basics', () => { let _http: httpm.HttpClient; - let _httpbin: httpm.HttpClient; beforeEach(() => { _http = new httpm.HttpClient('http-client-tests', [], { keepAlive: true }); diff --git a/__tests__/proxy.test.ts b/__tests__/proxy.test.ts index 45ef0b0..e0d81d0 100644 --- a/__tests__/proxy.test.ts +++ b/__tests__/proxy.test.ts @@ -1,4 +1,4 @@ -import * as pm from '../_out/proxy'; +import * as pm from '../proxy'; import * as url from 'url'; describe('proxy', () => { diff --git a/auth.ts b/auth.ts index 2b6d168..ae00211 100644 --- a/auth.ts +++ b/auth.ts @@ -11,7 +11,7 @@ export class BasicCredentialHandler implements ifm.IRequestHandler { } prepareRequest(options:any): void { - options.headers['Authorization'] = 'Basic ' + new Buffer(this.username + ':' + this.password).toString('base64'); + options.headers['Authorization'] = 'Basic ' + Buffer.from(this.username + ':' + this.password).toString('base64'); } // This handler cannot handle 401 @@ -57,7 +57,7 @@ export class PersonalAccessTokenCredentialHandler implements ifm.IRequestHandler // currently implements pre-authorization // TODO: support preAuth = false where it hooks on 401 prepareRequest(options:any): void { - options.headers['Authorization'] = 'Basic ' + new Buffer('PAT:' + this.token).toString('base64'); + options.headers['Authorization'] = 'Basic ' + Buffer.from('PAT:' + this.token).toString('base64'); } // This handler cannot handle 401 diff --git a/index.ts b/index.ts index 69324bd..25efee5 100644 --- a/index.ts +++ b/index.ts @@ -4,7 +4,6 @@ import https = require("https"); import ifm = require('./interfaces'); import pm = require('./proxy'); -let fs: any; let tunnel: any; export enum HttpCodes { @@ -70,7 +69,7 @@ export function isHttps(requestUrl: string) { } export class HttpClient { - userAgent: string | null | undefined; + userAgent: string | undefined; handlers: ifm.IRequestHandler[]; requestOptions: ifm.IRequestOptions; @@ -276,8 +275,7 @@ export class HttpClient { */ public requestRawWithCallback(info: ifm.IRequestInfo, data: string | NodeJS.ReadableStream, onResult: (err: any, res: ifm.IHttpClientResponse) => void): void { let socket; - - let isDataString = typeof (data) === 'string'; + if (typeof (data) === 'string') { info.options.headers["Content-Length"] = Buffer.byteLength(data, 'utf8'); } diff --git a/package-lock.json b/package-lock.json index e883513..1061632 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@actions/http-client", - "version": "1.0.0", + "version": "1.0.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2381,12 +2381,6 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true - }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -3473,19 +3467,6 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, - "nock": { - "version": "11.7.2", - "resolved": "https://registry.npmjs.org/nock/-/nock-11.7.2.tgz", - "integrity": "sha512-7swr5bL1xBZ5FctyubjxEVySXOSebyqcL7Vy1bx1nS9IUqQWj81cmKjVKJLr8fHhtzI1MV8nyCdENA/cGcY1+Q==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.13", - "mkdirp": "^0.5.0", - "propagate": "^2.0.0" - } - }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -3839,12 +3820,6 @@ "sisteransi": "^1.0.3" } }, - "propagate": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", - "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", - "dev": true - }, "psl": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", @@ -3909,15 +3884,6 @@ "util.promisify": "^1.0.0" } }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -4177,17 +4143,6 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, - "shelljs": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", - "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, "shellwords": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", diff --git a/package.json b/package.json index e08023a..07c4170 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "Actions Http Client", "main": "index.js", "scripts": { - "build": "rm -Rf ./_out && tsc && cp package*.json ./_out && cp *.md ./_out && cp LICENSE ./_out && cp actions.png ./_out", + "build": "tsc", "test": "jest" }, "repository": { @@ -26,8 +26,6 @@ "@types/node": "^13.1.5", "@types/shelljs": "^0.8.6", "jest": "^24.9.0", - "nock": "^11.7.2", - "shelljs": "^0.8.3", "ts-jest": "^24.3.0", "typescript": "^3.7.4" } diff --git a/proxy.ts b/proxy.ts index 2d171f2..c251575 100644 --- a/proxy.ts +++ b/proxy.ts @@ -17,7 +17,7 @@ export function getProxyUrl(reqUrl: url.Url): url.Url { bypass = true; break; } - } + } } let proxyUrl: url.Url; @@ -34,7 +34,7 @@ export function getProxyUrl(reqUrl: url.Url): url.Url { proxyVar = process.env["http_proxy"] || process.env["HTTP_PROXY"]; } - + if (proxyVar) { proxyUrl = url.parse(proxyVar); } diff --git a/tsconfig.json b/tsconfig.json index 560cca0..9047cdc 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,8 +8,5 @@ "outDir": "_out", "forceConsistentCasingInFileNames": true }, - "files": [ - "index.ts", - "auth.ts" - ] + "include": ["*.ts"] } \ No newline at end of file