| 
								
							 | 
							
								exports.encodeCallback = function encodeCallback(reqParams, options) {
							 | 
						
						
						
							| 
								
							 | 
							
								  reqParams.headers = reqParams.headers || {};
							 | 
						
						
						
							| 
								
							 | 
							
								  if (!Object.prototype.hasOwnProperty.call(reqParams.headers, 'x-oss-callback')) {
							 | 
						
						
						
							| 
								
							 | 
							
								    if (options.callback) {
							 | 
						
						
						
							| 
								
							 | 
							
								      const json = {
							 | 
						
						
						
							| 
								
							 | 
							
								        callbackUrl: encodeURI(options.callback.url),
							 | 
						
						
						
							| 
								
							 | 
							
								        callbackBody: options.callback.body
							 | 
						
						
						
							| 
								
							 | 
							
								      };
							 | 
						
						
						
							| 
								
							 | 
							
								      if (options.callback.host) {
							 | 
						
						
						
							| 
								
							 | 
							
								        json.callbackHost = options.callback.host;
							 | 
						
						
						
							| 
								
							 | 
							
								      }
							 | 
						
						
						
							| 
								
							 | 
							
								      if (options.callback.contentType) {
							 | 
						
						
						
							| 
								
							 | 
							
								        json.callbackBodyType = options.callback.contentType;
							 | 
						
						
						
							| 
								
							 | 
							
								      }
							 | 
						
						
						
							| 
								
							 | 
							
								      if (options.callback.callbackSNI) {
							 | 
						
						
						
							| 
								
							 | 
							
								        json.callbackSNI = options.callback.callbackSNI;
							 | 
						
						
						
							| 
								
							 | 
							
								      }
							 | 
						
						
						
							| 
								
							 | 
							
								      const callback = Buffer.from(JSON.stringify(json)).toString('base64');
							 | 
						
						
						
							| 
								
							 | 
							
								      reqParams.headers['x-oss-callback'] = callback;
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								      if (options.callback.customValue) {
							 | 
						
						
						
							| 
								
							 | 
							
								        const callbackVar = {};
							 | 
						
						
						
							| 
								
							 | 
							
								        Object.keys(options.callback.customValue).forEach(key => {
							 | 
						
						
						
							| 
								
							 | 
							
								          callbackVar[`x:${key}`] = options.callback.customValue[key].toString();
							 | 
						
						
						
							| 
								
							 | 
							
								        });
							 | 
						
						
						
							| 
								
							 | 
							
								        reqParams.headers['x-oss-callback-var'] = Buffer.from(JSON.stringify(callbackVar)).toString('base64');
							 | 
						
						
						
							| 
								
							 | 
							
								      }
							 | 
						
						
						
							| 
								
							 | 
							
								    }
							 | 
						
						
						
							| 
								
							 | 
							
								  }
							 | 
						
						
						
							| 
								
							 | 
							
								};
							 |