@@ -23,20 +23,30 @@ function capitalizeFirstLetter (string) {
2323 * @param {string } urlOrigin - String representing the origin of the url
2424 * @param {Object } options - Options to tweak code snippet
2525 * @param {string } indentString - String representing value of indentation required
26+ * @param {Array } headers - request headers
2627 * @returns {String } csharp-restsharp RestClientOptions object snippet
2728 */
28- function makeOptionsSnippet ( urlOrigin , options , indentString ) {
29- let snippet = `var options = new RestClientOptions("${ sanitize ( urlOrigin ) } ")\n{\n` ;
29+ function makeOptionsSnippet ( urlOrigin , options , indentString , headers ) {
30+ let userAgentHeader ,
31+ snippet = `var options = new RestClientOptions("${ sanitize ( urlOrigin ) } ")\n{\n` ;
32+ if ( Array . isArray ( headers ) ) {
33+ userAgentHeader = headers . find ( ( header ) => {
34+ return ( ! header . disabled && sanitize ( header . key , true ) . toLowerCase ( ) === 'user-agent' ) ;
35+
36+ } ) ;
37+ }
3038 if ( options . requestTimeout ) {
3139 snippet += `${ indentString } MaxTimeout = ${ options . requestTimeout } ,\n` ;
3240 }
3341 else {
3442 snippet += `${ indentString } MaxTimeout = -1,\n` ;
3543 }
36-
3744 if ( ! options . followRedirect ) {
3845 snippet += `${ indentString } FollowRedirects = false,\n` ;
3946 }
47+ if ( userAgentHeader ) {
48+ snippet += `${ indentString } UserAgent = "${ userAgentHeader . value } ",\n` ;
49+ }
4050 snippet += '};\n' ;
4151 return snippet ;
4252}
@@ -84,7 +94,7 @@ function makeSnippet (request, options, indentString) {
8494 urlOrigin = url ? parseURL ( request . url . toString ( ) ) . origin : request . url . toString ( ) ,
8595 urlPathAndHash = url ? request . url . toString ( ) . replace ( urlOrigin , '' ) : '' ;
8696
87- let snippet = makeOptionsSnippet ( urlOrigin , options , indentString ) ;
97+ let snippet = makeOptionsSnippet ( urlOrigin , options , indentString , request . toJSON ( ) . header ) ;
8898 snippet += 'var client = new RestClient(options);\n' ;
8999 snippet += `var request = new RestRequest("${ sanitize ( urlPathAndHash ) } ", ` +
90100 `${ isUnSupportedMethod ? 'Method.Get' : ( 'Method.' + capitalizeFirstLetter ( request . method ) ) } );\n` ;
0 commit comments