@verdaccio/server-fastify
Version:
fastify server api implementation
60 lines (59 loc) • 1.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _debug = _interopRequireDefault(require("debug"));
var _core = require("@verdaccio/core");
var _store = require("@verdaccio/store");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const debug = (0, _debug.default)('verdaccio:fastify:api:sidebar');
async function manifestRoute(fastify) {
fastify.get('/:name', async request => {
const {
name
} = request.params;
const storage = fastify.storage;
debug('pkg name %s ', name);
// @ts-ignore
const abbreviated = _core.stringUtils.getByQualityPriorityValue(request.headers['accept']) === _store.Storage.ABBREVIATED_HEADER;
const data = await (storage === null || storage === void 0 ? void 0 : storage.getPackageByOptions({
name,
// @ts-ignore
uplinksLook: true,
requestOptions: {
protocol: request.protocol,
headers: request.headers,
host: request.hostname
},
abbreviated
}));
return data;
});
fastify.get('/:packageName/:version', async request => {
const {
name,
version
} = request.params;
const storage = fastify.storage;
const write = request.query.write === 'true';
debug('pkg name %s, with version / tag: %s ', name, version);
const requestOptions = {
protocol: request.protocol,
headers: request.headers,
host: request.hostname,
remoteAddress: request.socket.remoteAddress,
byPassCache: write
};
const data = await (storage === null || storage === void 0 ? void 0 : storage.getPackageByOptions({
name,
version,
uplinksLook: true,
requestOptions
}));
return data;
});
}
var _default = manifestRoute;
exports.default = _default;
//# sourceMappingURL=manifest.js.map