Releases: rdavisau/jsondatacontext-linqpad
Releases · rdavisau/jsondatacontext-linqpad
v0.0.4
Features:
- You can now define request headers when creating a web source
- You can now intercept web requests before they are sent, by making use of
SetGlobalRequestIntercept
and/orSetSpecificWebRequestIntercept<T>
methods on the context. Each takes anAction<HttpWebRequest>
that can perform any work on the request before it is made. The former applies to all requests, while the latter applies to the specific method or property returningIEnumerable<T>
. The specific intercept is run after the global intercept, so can override any changes made by the global intercept. There are alsoRemoveGlobalRequestIntercept
,RemoveSpecificWebRequestIntercept<T>
andRemoveAllSpecificWebRequestIntercepts
methods for managing intercepts at run-time.
Bugfixes / Stability:
- Fixed a regression in class disambiguation code would cause the context code to be generated incorrectly.
v0.0.3
Features:
- Added a web input type, which supports GET requests to a url that returns json. If the url includes a query string it is also possible to generate a method taking the query parts as parameters.
- Added a text input type, which allows you to write or paste in json text as a source for your context.
- Added basic support for json inputs that do not have an array element at the root. Such inputs are exposed as an IEnumerables yielding the single element.
Bugfixes / Stability:
- Fixed an issue with json containing property names that conflict with C# keywords that would cause context generation to fail.
Other:
- Input sources for your context are processed in parallel, reducing the time taken to generate a context with many inputs
- The default 'rows to sample' value was reduced to 50 from the original value of 1,000. That was a little excessive 🐑.
v0.0.2
Features:
- File inputs are now streamed from disk and deserialised item-by-item, avoiding loading the complete source when using LINQ operators like
Take
,TakeWhile
,ElementAt
etc. - Error reporting is slightly more comprehensive
Bugfixes / Stability:
- Fixed an issue where a class definition could be generated to include a property with the same name as the parent class, resulting in a compile error when generating the data context
- Added namespace disambiguation to input classes to avoid class name conflicts when working with multiple inputs.