# Config Options for csharp-nancyfx

Option | Description | Values | Default
--- | --- | --- | ---
asyncServer | Set to true to enable the generation of async routes/endpoints. |  | false
immutable | Enabled by default. If disabled generates model classes with setters |  | true
interfacePrefix | Prefix interfaces with a community standard or widely accepted prefix. |  |
optionalProjectFile | Generate {PackageName}.csproj. |  | true
packageContext | Optionally overrides the PackageContext which determines the namespace (namespace=packageName.packageContext). If not set, packageContext will default to basePath. |  | null
packageGuid | The GUID that will be associated with the C# project |  | null
packageName | C# package name (convention: Title.Case). |  | Org.OpenAPITools
packageVersion | C# package version. |  | 1.0.0
returnICollection | Return ICollection<T> instead of the concrete type. |  | false
sortParamsByRequiredFlag | Sort method arguments to place required parameters before optional parameters. |  | true
sourceFolder | source folder for generated code |  | src
useCollection | Deserialize array types to Collection<T> instead of List<T>. |  | false
useDateTimeOffset | Use DateTimeOffset to model date-time properties |  | false
writeModulePath | Enabled by default. If disabled, module paths will not mirror api base path |  | true

## #IMPORT MAPPING

Type/Alias | Imports
--- | ---

## #INSTANTIATION TYPES

Type/Alias | Instantiated By
--- | ---
array | List
list | List
map | Dictionary

## #LANGUAGE PRIMITIVES

- Boolean
- Collection
- DateTime
- DateTime?
- DateTimeOffset
- DateTimeOffset?
- Dictionary
- Double
- Float
- Guid
- Guid?
- ICollection
- Int32
- Int64
- List
- LocalDate?
- LocalTime?
- Object
- String
- System.IO.Stream
- ZonedDateTime?
- bool
- bool?
- byte[]
- decimal
- decimal?
- double
- double?
- float
- float?
- int
- int?
- long
- long?
- string

## #RESERVED WORDS

- async
- await
- dynamic
- var
- yield

## #FEATURE SET

### #Client Modification Feature

Name | Supported | Defined By
--- | --- | ---
BasePath | ✗ | ToolingExtension
Authorizations | ✗ | ToolingExtension
UserAgent | ✗ | ToolingExtension
MockServer | ✗ | ToolingExtension

### #Data Type Feature

Name | Supported | Defined By
--- | --- | ---
Custom | ✗ | OAS2,OAS3
Int32 | ✓ | OAS2,OAS3
Int64 | ✓ | OAS2,OAS3
Float | ✓ | OAS2,OAS3
Double | ✓ | OAS2,OAS3
Decimal | ✓ | ToolingExtension
String | ✓ | OAS2,OAS3
Byte | ✓ | OAS2,OAS3
Binary | ✓ | OAS2,OAS3
Boolean | ✓ | OAS2,OAS3
Date | ✓ | OAS2,OAS3
DateTime | ✓ | OAS2,OAS3
Password | ✓ | OAS2,OAS3
File | ✓ | OAS2
Array | ✓ | OAS2,OAS3
Maps | ✓ | ToolingExtension
CollectionFormat | ✓ | OAS2
CollectionFormatMulti | ✓ | OAS2
Enum | ✓ | OAS2,OAS3
ArrayOfEnum | ✓ | ToolingExtension
ArrayOfModel | ✓ | ToolingExtension
ArrayOfCollectionOfPrimitives | ✓ | ToolingExtension
ArrayOfCollectionOfModel | ✓ | ToolingExtension
ArrayOfCollectionOfEnum | ✓ | ToolingExtension
MapOfEnum | ✓ | ToolingExtension
MapOfModel | ✓ | ToolingExtension
MapOfCollectionOfPrimitives | ✓ | ToolingExtension
MapOfCollectionOfModel | ✓ | ToolingExtension
MapOfCollectionOfEnum | ✓ | ToolingExtension

### #Documentation Feature

Name | Supported | Defined By
--- | --- | ---
Readme | ✗ | ToolingExtension
Model | ✓ | ToolingExtension
Api | ✓ | ToolingExtension

### #Global Feature

Name | Supported | Defined By
--- | --- | ---
Host | ✓ | OAS2,OAS3
BasePath | ✓ | OAS2,OAS3
Info | ✓ | OAS2,OAS3
Schemes | ✗ | OAS2,OAS3
PartialSchemes | ✓ | OAS2,OAS3
Consumes | ✓ | OAS2
Produces | ✓ | OAS2
ExternalDocumentation | ✓ | OAS2,OAS3
Examples | ✓ | OAS2,OAS3
XMLStructureDefinitions | ✗ | OAS2,OAS3
MultiServer | ✗ | OAS3
ParameterizedServer | ✗ | OAS3
ParameterStyling | ✗ | OAS3
Callbacks | ✗ | OAS3
LinkObjects | ✗ | OAS3

### #Parameter Feature

Name | Supported | Defined By
--- | --- | ---
Path | ✓ | OAS2,OAS3
Query | ✓ | OAS2,OAS3
Header | ✓ | OAS2,OAS3
Body | ✓ | OAS2
FormUnencoded | ✓ | OAS2
FormMultipart | ✓ | OAS2
Cookie | ✗ | OAS3

### #Schema Support Feature

Name | Supported | Defined By
--- | --- | ---
Simple | ✓ | OAS2,OAS3
Composite | ✓ | OAS2,OAS3
Polymorphism | ✓ | OAS2,OAS3
Union | ✗ | OAS3

### #Security Feature

Name | Supported | Defined By
--- | --- | ---
BasicAuth | ✗ | OAS2,OAS3
ApiKey | ✗ | OAS2,OAS3
OpenIDConnect | ✗ | OAS3
BearerToken | ✗ | OAS3
OAuth2_Implicit | ✗ | OAS2,OAS3
OAuth2_Password | ✗ | OAS2,OAS3
OAuth2_ClientCredentials | ✗ | OAS2,OAS3
OAuth2_AuthorizationCode | ✗ | OAS2,OAS3

### #Wire Format Feature

Name | Supported | Defined By
--- | --- | ---
JSON | ✓ | OAS2,OAS3
XML | ✓ | OAS2,OAS3
PROTOBUF | ✗ | ToolingExtension
Custom | ✗ | OAS2,OAS3

Edit this page
Last updated on 2020-9-3 by Jim Schubert

- IMPORT MAPPING
- INSTANTIATION TYPES
- LANGUAGE PRIMITIVES
- RESERVED WORDS
- FEATURE SET
  - Client Modification Feature
  - Data Type Feature
  - Documentation Feature
  - Global Feature
  - Parameter Feature
  - Schema Support Feature
  - Security Feature
  - Wire Format Feature