mirror of
				https://gitea.com/actions/setup-node.git
				synced 2025-10-29 07:47:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| module.exports = parseOptions
 | |
| 
 | |
| const { Deprecation } = require('deprecation')
 | |
| const getUserAgent = require('universal-user-agent')
 | |
| const once = require('once')
 | |
| 
 | |
| const pkg = require('../package.json')
 | |
| 
 | |
| const deprecateOptionsTimeout = once((log, deprecation) => log.warn(deprecation))
 | |
| const deprecateOptionsAgent = once((log, deprecation) => log.warn(deprecation))
 | |
| const deprecateOptionsHeaders = once((log, deprecation) => log.warn(deprecation))
 | |
| 
 | |
| function parseOptions (options, log, hook) {
 | |
|   if (options.headers) {
 | |
|     options.headers = Object.keys(options.headers).reduce((newObj, key) => {
 | |
|       newObj[key.toLowerCase()] = options.headers[key]
 | |
|       return newObj
 | |
|     }, {})
 | |
|   }
 | |
| 
 | |
|   const clientDefaults = {
 | |
|     headers: options.headers || {},
 | |
|     request: options.request || {},
 | |
|     mediaType: {
 | |
|       previews: [],
 | |
|       format: ''
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   if (options.baseUrl) {
 | |
|     clientDefaults.baseUrl = options.baseUrl
 | |
|   }
 | |
| 
 | |
|   if (options.userAgent) {
 | |
|     clientDefaults.headers['user-agent'] = options.userAgent
 | |
|   }
 | |
| 
 | |
|   if (options.previews) {
 | |
|     clientDefaults.mediaType.previews = options.previews
 | |
|   }
 | |
| 
 | |
|   if (options.timeout) {
 | |
|     deprecateOptionsTimeout(log, new Deprecation('[@octokit/rest] new Octokit({timeout}) is deprecated. Use {request: {timeout}} instead. See https://github.com/octokit/request.js#request'))
 | |
|     clientDefaults.request.timeout = options.timeout
 | |
|   }
 | |
| 
 | |
|   if (options.agent) {
 | |
|     deprecateOptionsAgent(log, new Deprecation('[@octokit/rest] new Octokit({agent}) is deprecated. Use {request: {agent}} instead. See https://github.com/octokit/request.js#request'))
 | |
|     clientDefaults.request.agent = options.agent
 | |
|   }
 | |
| 
 | |
|   if (options.headers) {
 | |
|     deprecateOptionsHeaders(log, new Deprecation('[@octokit/rest] new Octokit({headers}) is deprecated. Use {userAgent, previews} instead. See https://github.com/octokit/request.js#request'))
 | |
|   }
 | |
| 
 | |
|   const userAgentOption = clientDefaults.headers['user-agent']
 | |
|   const defaultUserAgent = `octokit.js/${pkg.version} ${getUserAgent()}`
 | |
| 
 | |
|   clientDefaults.headers['user-agent'] = [userAgentOption, defaultUserAgent].filter(Boolean).join(' ')
 | |
| 
 | |
|   clientDefaults.request.hook = hook.bind(null, 'request')
 | |
| 
 | |
|   return clientDefaults
 | |
| }
 | 
