mirror of
				https://github.com/n8n-io/n8n-nodes-starter.git
				synced 2025-10-28 14:12:24 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /* eslint-disable n8n-nodes-base/filesystem-wrong-node-filename */
 | |
| import { INodeType, INodeTypeDescription } from 'n8n-workflow';
 | |
| import { httpVerbFields, httpVerbOperations } from './HttpVerbDescriptions';
 | |
| 
 | |
| export class HttpBin implements INodeType {
 | |
| 	description: INodeTypeDescription = {
 | |
| 		displayName: 'HttpBin',
 | |
| 		name: 'httpbin',
 | |
| 		icon: 'file:httpbin.svg',
 | |
| 		group: ['transform'],
 | |
| 		version: 1,
 | |
| 		subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
 | |
| 		description: 'Interact with HttpBin API',
 | |
| 		defaults: {
 | |
| 			name: 'HttpBin',
 | |
| 			color: '#3b4151',
 | |
| 		},
 | |
| 		inputs: ['main'],
 | |
| 		outputs: ['main'],
 | |
| 		credentials: [
 | |
| 			{
 | |
| 				name: 'httpbinApi',
 | |
| 				required: false,
 | |
| 			},
 | |
| 		],
 | |
| 		requestDefaults: {
 | |
| 			baseURL: 'https://httpbin.org',
 | |
| 			url: '',
 | |
| 			headers: {
 | |
| 				Accept: 'application/json',
 | |
| 				'Content-Type': 'application/json',
 | |
| 			},
 | |
| 		},
 | |
| 		/**
 | |
| 		 * In the properties array we have two mandatory options objects required
 | |
| 		 *
 | |
| 		 * [Resource & Operation]
 | |
| 		 *
 | |
| 		 *
 | |
| 		 * https://docs.n8n.io/integrations/creating-nodes/code/create-first-node/#resources-and-operations
 | |
| 		 *
 | |
| 		 * In our example, the operations are separated into their own file (HTTPVerbDescription)
 | |
| 		 * to keep this class easy to read
 | |
| 		 *
 | |
| 		 */
 | |
| 		properties: [
 | |
| 			{
 | |
| 				displayName: 'Resource',
 | |
| 				name: 'resource',
 | |
| 				type: 'options',
 | |
| 				noDataExpression: true,
 | |
| 				options: [
 | |
| 					{
 | |
| 						name: 'HTTP Verb',
 | |
| 						value: 'httpverbs',
 | |
| 					},
 | |
| 				],
 | |
| 				default: 'httpverbs',
 | |
| 			},
 | |
| 
 | |
| 			...httpVerbOperations,
 | |
| 			...httpVerbFields,
 | |
| 		],
 | |
| 	};
 | |
| }
 |