mirror of
https://github.com/valitydev/openapi-generator.git
synced 2024-11-08 03:18:53 +00:00
Merge pull request #2371 from wing328/csharp_user_agent
[C#] add httpUserAgent option, add configurable user-agent support to C#
This commit is contained in:
commit
84564ae231
@ -117,6 +117,9 @@ public class Generate implements Runnable {
|
|||||||
|
|
||||||
@Option(name = {"--release-version"}, title = "release version", description = CodegenConstants.RELEASE_VERSION_DESC)
|
@Option(name = {"--release-version"}, title = "release version", description = CodegenConstants.RELEASE_VERSION_DESC)
|
||||||
private String releaseVersion;
|
private String releaseVersion;
|
||||||
|
|
||||||
|
@Option(name = {"--http-user-agent"}, title = "http user agent", description = CodegenConstants.HTTP_USER_AGENT)
|
||||||
|
private String httpUserAgent;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -210,6 +213,10 @@ public class Generate implements Runnable {
|
|||||||
if (isNotEmpty(releaseVersion)) {
|
if (isNotEmpty(releaseVersion)) {
|
||||||
configurator.setReleaseVersion(releaseVersion);
|
configurator.setReleaseVersion(releaseVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isNotEmpty(httpUserAgent)) {
|
||||||
|
configurator.setHttpUserAgent(httpUserAgent);
|
||||||
|
}
|
||||||
|
|
||||||
applySystemPropertiesKvp(systemProperties, configurator);
|
applySystemPropertiesKvp(systemProperties, configurator);
|
||||||
applyInstantiationTypesKvp(instantiationTypes, configurator);
|
applyInstantiationTypesKvp(instantiationTypes, configurator);
|
||||||
|
@ -184,4 +184,8 @@ public interface CodegenConfig {
|
|||||||
|
|
||||||
String getReleaseVersion();
|
String getReleaseVersion();
|
||||||
|
|
||||||
|
void setHttpUserAgent(String httpUserAgent);
|
||||||
|
|
||||||
|
String getHttpUserAgent();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -103,4 +103,7 @@ public class CodegenConstants {
|
|||||||
public static final String RELEASE_VERSION = "releaseVersion";
|
public static final String RELEASE_VERSION = "releaseVersion";
|
||||||
public static final String RELEASE_VERSION_DESC= "Release version, e.g. 1.2.5, default to 0.1.0.";
|
public static final String RELEASE_VERSION_DESC= "Release version, e.g. 1.2.5, default to 0.1.0.";
|
||||||
|
|
||||||
|
public static final String HTTP_USER_AGENT = "httpUserAgent";
|
||||||
|
public static final String HTTP_USER_AGENT_DESC = "HTTP user agent, e.g. codegen_csharp_api_client, default to 'Swagger-Codegen/{releaseVersion}}/{language}'";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -84,6 +84,7 @@ public class DefaultCodegen {
|
|||||||
protected Boolean sortParamsByRequiredFlag = true;
|
protected Boolean sortParamsByRequiredFlag = true;
|
||||||
protected Boolean ensureUniqueParams = true;
|
protected Boolean ensureUniqueParams = true;
|
||||||
protected String gitUserId, gitRepoId, releaseNote, releaseVersion;
|
protected String gitUserId, gitRepoId, releaseNote, releaseVersion;
|
||||||
|
protected String httpUserAgent;
|
||||||
|
|
||||||
public List<CliOption> cliOptions() {
|
public List<CliOption> cliOptions() {
|
||||||
return cliOptions;
|
return cliOptions;
|
||||||
@ -2431,6 +2432,24 @@ public class DefaultCodegen {
|
|||||||
return releaseVersion;
|
return releaseVersion;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set HTTP user agent.
|
||||||
|
*
|
||||||
|
* @param httpUserAgent HTTP user agent
|
||||||
|
*/
|
||||||
|
public void setHttpUserAgent(String httpUserAgent) {
|
||||||
|
this.httpUserAgent = httpUserAgent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HTTP user agent
|
||||||
|
*
|
||||||
|
* @return HTTP user agent
|
||||||
|
*/
|
||||||
|
public String getHttpUserAgent() {
|
||||||
|
return httpUserAgent;
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressWarnings("static-method")
|
@SuppressWarnings("static-method")
|
||||||
protected CliOption buildLibraryCliOption(Map<String, String> supportedLibraries) {
|
protected CliOption buildLibraryCliOption(Map<String, String> supportedLibraries) {
|
||||||
StringBuilder sb = new StringBuilder("library template (sub-template) to use:");
|
StringBuilder sb = new StringBuilder("library template (sub-template) to use:");
|
||||||
|
@ -64,6 +64,7 @@ public class CodegenConfigurator {
|
|||||||
private String gitRepoId="YOUR_GIT_REPO_ID";
|
private String gitRepoId="YOUR_GIT_REPO_ID";
|
||||||
private String releaseNote="Minor update";
|
private String releaseNote="Minor update";
|
||||||
private String releaseVersion="0.1.0";
|
private String releaseVersion="0.1.0";
|
||||||
|
private String httpUserAgent;
|
||||||
|
|
||||||
private final Map<String, String> dynamicProperties = new HashMap<String, String>(); //the map that holds the JsonAnySetter/JsonAnyGetter values
|
private final Map<String, String> dynamicProperties = new HashMap<String, String>(); //the map that holds the JsonAnySetter/JsonAnyGetter values
|
||||||
|
|
||||||
@ -334,6 +335,15 @@ public class CodegenConfigurator {
|
|||||||
this.releaseVersion = releaseVersion;
|
this.releaseVersion = releaseVersion;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getHttpUserAgent() {
|
||||||
|
return httpUserAgent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CodegenConfigurator setHttpUserAgent(String httpUserAgent) {
|
||||||
|
this.httpUserAgent= httpUserAgent;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public ClientOptInput toClientOptInput() {
|
public ClientOptInput toClientOptInput() {
|
||||||
|
|
||||||
@ -366,6 +376,7 @@ public class CodegenConfigurator {
|
|||||||
checkAndSetAdditionalProperty(gitRepoId, CodegenConstants.GIT_REPO_ID);
|
checkAndSetAdditionalProperty(gitRepoId, CodegenConstants.GIT_REPO_ID);
|
||||||
checkAndSetAdditionalProperty(releaseVersion, CodegenConstants.RELEASE_VERSION);
|
checkAndSetAdditionalProperty(releaseVersion, CodegenConstants.RELEASE_VERSION);
|
||||||
checkAndSetAdditionalProperty(releaseNote, CodegenConstants.RELEASE_NOTE);
|
checkAndSetAdditionalProperty(releaseNote, CodegenConstants.RELEASE_NOTE);
|
||||||
|
checkAndSetAdditionalProperty(httpUserAgent, CodegenConstants.HTTP_USER_AGENT);
|
||||||
|
|
||||||
handleDynamicProperties(config);
|
handleDynamicProperties(config);
|
||||||
|
|
||||||
|
@ -84,6 +84,9 @@ namespace {{packageName}}.Client
|
|||||||
String contentType)
|
String contentType)
|
||||||
{
|
{
|
||||||
var request = new RestRequest(path, method);
|
var request = new RestRequest(path, method);
|
||||||
|
|
||||||
|
// add user agent header
|
||||||
|
request.AddHeader("User-Agent", Configuration.HttpUserAgent);
|
||||||
|
|
||||||
// add path parameter, if any
|
// add path parameter, if any
|
||||||
foreach(var param in pathParams)
|
foreach(var param in pathParams)
|
||||||
|
@ -34,7 +34,8 @@ namespace {{packageName}}.Client
|
|||||||
Dictionary<String, String> apiKeyPrefix = null,
|
Dictionary<String, String> apiKeyPrefix = null,
|
||||||
string tempFolderPath = null,
|
string tempFolderPath = null,
|
||||||
string dateTimeFormat = null,
|
string dateTimeFormat = null,
|
||||||
int timeout = 100000
|
int timeout = 100000,
|
||||||
|
string httpUserAgent = "{{#httpUserAgent}}{{.}}{{/httpUserAgent}}{{^httpUserAgent}}Swagger-Codegen/{{packageVersion}}/csharp{{/httpUserAgent}}"
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
setApiClientUsingDefault(apiClient);
|
setApiClientUsingDefault(apiClient);
|
||||||
@ -42,6 +43,7 @@ namespace {{packageName}}.Client
|
|||||||
Username = username;
|
Username = username;
|
||||||
Password = password;
|
Password = password;
|
||||||
AccessToken = accessToken;
|
AccessToken = accessToken;
|
||||||
|
HttpUserAgent = httpUserAgent;
|
||||||
|
|
||||||
if (defaultHeader != null)
|
if (defaultHeader != null)
|
||||||
DefaultHeader = defaultHeader;
|
DefaultHeader = defaultHeader;
|
||||||
@ -146,6 +148,12 @@ namespace {{packageName}}.Client
|
|||||||
_defaultHeaderMap.Add(key, value);
|
_defaultHeaderMap.Add(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the HTTP user agent.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>Http user agent.</value>
|
||||||
|
public String HttpUserAgent { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the username (HTTP basic authentication).
|
/// Gets or sets the username (HTTP basic authentication).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -82,6 +82,12 @@ namespace {{packageName}}.Api
|
|||||||
public {{classname}}(String basePath)
|
public {{classname}}(String basePath)
|
||||||
{
|
{
|
||||||
this.Configuration = new Configuration(new ApiClient(basePath));
|
this.Configuration = new Configuration(new ApiClient(basePath));
|
||||||
|
|
||||||
|
// ensure API client has configuration ready
|
||||||
|
if (Configuration.ApiClient.Configuration == null)
|
||||||
|
{
|
||||||
|
this.Configuration.ApiClient.Configuration = this.Configuration;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -96,6 +102,12 @@ namespace {{packageName}}.Api
|
|||||||
this.Configuration = Configuration.Default;
|
this.Configuration = Configuration.Default;
|
||||||
else
|
else
|
||||||
this.Configuration = configuration;
|
this.Configuration = configuration;
|
||||||
|
|
||||||
|
// ensure API client has configuration ready
|
||||||
|
if (Configuration.ApiClient.Configuration == null)
|
||||||
|
{
|
||||||
|
this.Configuration.ApiClient.Configuration = this.Configuration;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -541,6 +541,12 @@ namespace IO.Swagger.Api
|
|||||||
public PetApi(String basePath)
|
public PetApi(String basePath)
|
||||||
{
|
{
|
||||||
this.Configuration = new Configuration(new ApiClient(basePath));
|
this.Configuration = new Configuration(new ApiClient(basePath));
|
||||||
|
|
||||||
|
// ensure API client has configuration ready
|
||||||
|
if (Configuration.ApiClient.Configuration == null)
|
||||||
|
{
|
||||||
|
this.Configuration.ApiClient.Configuration = this.Configuration;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -555,6 +561,12 @@ namespace IO.Swagger.Api
|
|||||||
this.Configuration = Configuration.Default;
|
this.Configuration = Configuration.Default;
|
||||||
else
|
else
|
||||||
this.Configuration = configuration;
|
this.Configuration = configuration;
|
||||||
|
|
||||||
|
// ensure API client has configuration ready
|
||||||
|
if (Configuration.ApiClient.Configuration == null)
|
||||||
|
{
|
||||||
|
this.Configuration.ApiClient.Configuration = this.Configuration;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -293,6 +293,12 @@ namespace IO.Swagger.Api
|
|||||||
public StoreApi(String basePath)
|
public StoreApi(String basePath)
|
||||||
{
|
{
|
||||||
this.Configuration = new Configuration(new ApiClient(basePath));
|
this.Configuration = new Configuration(new ApiClient(basePath));
|
||||||
|
|
||||||
|
// ensure API client has configuration ready
|
||||||
|
if (Configuration.ApiClient.Configuration == null)
|
||||||
|
{
|
||||||
|
this.Configuration.ApiClient.Configuration = this.Configuration;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -307,6 +313,12 @@ namespace IO.Swagger.Api
|
|||||||
this.Configuration = Configuration.Default;
|
this.Configuration = Configuration.Default;
|
||||||
else
|
else
|
||||||
this.Configuration = configuration;
|
this.Configuration = configuration;
|
||||||
|
|
||||||
|
// ensure API client has configuration ready
|
||||||
|
if (Configuration.ApiClient.Configuration == null)
|
||||||
|
{
|
||||||
|
this.Configuration.ApiClient.Configuration = this.Configuration;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -393,6 +393,12 @@ namespace IO.Swagger.Api
|
|||||||
public UserApi(String basePath)
|
public UserApi(String basePath)
|
||||||
{
|
{
|
||||||
this.Configuration = new Configuration(new ApiClient(basePath));
|
this.Configuration = new Configuration(new ApiClient(basePath));
|
||||||
|
|
||||||
|
// ensure API client has configuration ready
|
||||||
|
if (Configuration.ApiClient.Configuration == null)
|
||||||
|
{
|
||||||
|
this.Configuration.ApiClient.Configuration = this.Configuration;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -407,6 +413,12 @@ namespace IO.Swagger.Api
|
|||||||
this.Configuration = Configuration.Default;
|
this.Configuration = Configuration.Default;
|
||||||
else
|
else
|
||||||
this.Configuration = configuration;
|
this.Configuration = configuration;
|
||||||
|
|
||||||
|
// ensure API client has configuration ready
|
||||||
|
if (Configuration.ApiClient.Configuration == null)
|
||||||
|
{
|
||||||
|
this.Configuration.ApiClient.Configuration = this.Configuration;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -84,6 +84,9 @@ namespace IO.Swagger.Client
|
|||||||
String contentType)
|
String contentType)
|
||||||
{
|
{
|
||||||
var request = new RestRequest(path, method);
|
var request = new RestRequest(path, method);
|
||||||
|
|
||||||
|
// add user agent header
|
||||||
|
request.AddHeader("User-Agent", Configuration.HttpUserAgent);
|
||||||
|
|
||||||
// add path parameter, if any
|
// add path parameter, if any
|
||||||
foreach(var param in pathParams)
|
foreach(var param in pathParams)
|
||||||
|
@ -34,7 +34,8 @@ namespace IO.Swagger.Client
|
|||||||
Dictionary<String, String> apiKeyPrefix = null,
|
Dictionary<String, String> apiKeyPrefix = null,
|
||||||
string tempFolderPath = null,
|
string tempFolderPath = null,
|
||||||
string dateTimeFormat = null,
|
string dateTimeFormat = null,
|
||||||
int timeout = 100000
|
int timeout = 100000,
|
||||||
|
string httpUserAgent = "Swagger-Codegen/1.0.0/csharp"
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
setApiClientUsingDefault(apiClient);
|
setApiClientUsingDefault(apiClient);
|
||||||
@ -42,6 +43,7 @@ namespace IO.Swagger.Client
|
|||||||
Username = username;
|
Username = username;
|
||||||
Password = password;
|
Password = password;
|
||||||
AccessToken = accessToken;
|
AccessToken = accessToken;
|
||||||
|
HttpUserAgent = httpUserAgent;
|
||||||
|
|
||||||
if (defaultHeader != null)
|
if (defaultHeader != null)
|
||||||
DefaultHeader = defaultHeader;
|
DefaultHeader = defaultHeader;
|
||||||
@ -146,6 +148,12 @@ namespace IO.Swagger.Client
|
|||||||
_defaultHeaderMap.Add(key, value);
|
_defaultHeaderMap.Add(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the HTTP user agent.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>Http user agent.</value>
|
||||||
|
public String HttpUserAgent { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the username (HTTP basic authentication).
|
/// Gets or sets the username (HTTP basic authentication).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -2,9 +2,16 @@
|
|||||||
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
|
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
|
||||||
<MonoDevelop.Ide.Workbench ActiveDocument="TestPet.cs">
|
<MonoDevelop.Ide.Workbench ActiveDocument="TestPet.cs">
|
||||||
<Files>
|
<Files>
|
||||||
<File FileName="TestPet.cs" Line="189" Column="4" />
|
<File FileName="TestPet.cs" Line="69" Column="32" />
|
||||||
<File FileName="TestOrder.cs" Line="1" Column="1" />
|
<File FileName="TestOrder.cs" Line="1" Column="1" />
|
||||||
</Files>
|
</Files>
|
||||||
|
<Pads>
|
||||||
|
<Pad Id="MonoDevelop.NUnit.TestPad">
|
||||||
|
<State name="__root__">
|
||||||
|
<Node name="SwaggerClientTest" expanded="True" />
|
||||||
|
</State>
|
||||||
|
</Pad>
|
||||||
|
</Pads>
|
||||||
</MonoDevelop.Ide.Workbench>
|
</MonoDevelop.Ide.Workbench>
|
||||||
<MonoDevelop.Ide.DebuggingService.Breakpoints>
|
<MonoDevelop.Ide.DebuggingService.Breakpoints>
|
||||||
<BreakpointStore />
|
<BreakpointStore />
|
||||||
|
Loading…
Reference in New Issue
Block a user