OData Web API: A server library built upon ODataLib and WebApi
C# 1C Enterprise Other
andrewlock and biaol-odata Don't assume port 80 when generating nextLink in ASP.NET Core #1559 (#…
…1560)

* Don't assume port 80 when generating nextLink in ASP.NET Core #1559

If the port isn't set on `request.Host`, port 80 was assumed previously.
If the app is running behind a reverse proxy, and the port was not forwarded,
this can result in invalid URLs - for example an https URL using port 80
Instead, we just omit the port completely if it's not explictly set.

* Add unit tests for GetNextPageLink

* Add copyright notice
Latest commit ecc4a0d Aug 10, 2018

README.md

OData Web API

Build Status
Rolling
Nightly

Introduction

OData Web API (i.e., ASP.NET Web API OData) is a server library built upon ODataLib and Web API.

Project structure

The project currently has the following branches:

master branch

This is the active development branch for OData WebApi and it is currently most actively iterated. The package name is Microsoft.AspNet.OData. The is the OData WebApi for ODL v7.x releases which contain breaking changes against ODL v6.

release branch

This is the release branch for OData WebApi, contains code base up to most recently stable WebApi release. The latest release version is 6.0.

feature/netcore branch

This is the feature development branch for OData WebApi for AspNet and AspNetCore. The package names are Microsoft.AspNet.OData and Microsoft.AspNetCore.OData. The is the OData WebApi 7.0 release which contain breaking changes against OData WebApi 6.0.

gh-pages branch

The gh-pages branch contains documentation source for OData WebApi - tutorials, guides, etc. The documention source is in Markdown format. It is hosted at ODataLib Pages.

maintenance-aspnetcore

This is the maintenance branch for OData WebApi with ASP.NET Core support. The package name is Microsoft.AspNetCore.OData.

maintenance-V4 branch

This is the maintenance branch for OData WebApi based on ODL 6.x, which implements the ODataV4 protocol. The package name is Microsoft.AspNet.OData, with latest maintenance release version 5.10.

maintenance-V3 branch

This is the maintenance branch for OData WebApi based on ODL 5.x, which implements the ODataV3 protocol. The package name is Microsoft.AspNet.WebApi.OData, with latest maintenance release version 5.7.

maintenance-dnx branch

This is maintenance branch for an early prototype version of OData WebApi based on original ASP.NET Core, aka DNX. Package name is Microsoft.AspNet.OData. This is for project archive purpose only, is not active and doesn't accept contributions. It has only one release with information available here.

odata-v5.3-rtm v2.0-rtm v3-rtm v3.1-rtm v3.2-rtm branches

These are maintenance branches for previous RTMs. Project archives only, contributions not accepted.

Building

build.cmd

Testing

Each solution contains some test projects. Test projects use xUnit runner nuget package.

Tests will not run correctly unless SkipStrongNames is Enabled. Please run

build.cmd EnableSkipStrongNames

Run tests in cmd

To run end-to-end tests, you need to open an elevated - Run as administrator - command prompt

  • build.cmd build projects, run unit tests, and OData end-to-end tests.

  • build.cmd quick build project, and run unit tests

To disable the SkipStrongNames:

build.cmd DisableSkipStrongNames

Run tests in Visual Studio

Open the project, build it, and then test cases should appear in test explorer. If not, this is because the assemblies are delay signed and you're missing the private key so xunit will not load them in Visual Studio. To fix, please run build.cmd EnableSkipStrongNames. Run all the tests in the test explorer. For running end-to-end tests you must open the solution as Administrator. More detail at this.

Nightly builds

The nightly build process will upload a NuGet packages for WebApi to: v7.x.x: MyGet.org webapinetcore feed v6.x.x: MyGet.org webapinightly feed

To connect to webapinightly feed, use this feed URL: v7.x.x: webapinetcore MyGet feed URL v6.x.x: webapinightly MyGet feed URL

You can query the latest nightly NuGet packages using this query: v7.x.x: MAGIC WebApi query v6.x.x: MAGIC WebApi query

Contribution

Please refer to the CONTRIBUTION.md.

Documentation

Please visit the OData Web API pages.

Samples

Please refer to the ODataSamples WebApi.

Debug

Please refer to the How to debug.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.