Skip to content
This repository has been archived by the owner on Aug 30, 2023. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: getsentry/raven-csharp
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2.1
Choose a base ref
...
head repository: getsentry/raven-csharp
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Apr 19, 2016

  1. BugFix when the request is not an application/x-www-form-urlencoded t…

    …he SentryRequest.Data is empty
    xpicio committed Apr 19, 2016
    Copy the full SHA
    7d0a45e View commit details
  2. Copy the full SHA
    e17a805 View commit details
  3. Discard project changes

    xpicio committed Apr 19, 2016
    Copy the full SHA
    2188bd7 View commit details
  4. Merge pull request #121 from xpicio/develop

    When the request is not an `application/x-www-form-urlencoded` the `SentryRequest.Data` is empty. This is fixed such that the HTTP body is converted to a `string` otherwise.
    asbjornu committed Apr 19, 2016
    Copy the full SHA
    a860540 View commit details

Commits on Jul 6, 2016

  1. Copy the full SHA
    5a2ba1f View commit details
  2. Initial breadcrumbs class.

    samukce committed Jul 6, 2016
    Copy the full SHA
    40c8c56 View commit details
  3. Copy the full SHA
    df1859d View commit details
  4. Copy the full SHA
    fccf0ff View commit details

Commits on Jul 7, 2016

  1. Copy the full SHA
    bd9d2a5 View commit details
  2. Copy the full SHA
    fd98905 View commit details
  3. Increment version

    samukce committed Jul 7, 2016
    Copy the full SHA
    77e0312 View commit details
  4. Copy the full SHA
    bd778b2 View commit details
  5. Merge pull request #1 from samukce/feature/support-breadcrumbs

    Feature support breadcrumbs #128
    samukce authored Jul 7, 2016
    Copy the full SHA
    f8a093f View commit details
  6. Code adjust from c#6 sintaxe

    samukce committed Jul 7, 2016
    Copy the full SHA
    4eb0a71 View commit details
  7. Fixed when .NET45

    samukce committed Jul 7, 2016
    Copy the full SHA
    8b2e8a8 View commit details
  8. Merge remote-tracking branch 'refs/remotes/origin/develop' into featu…

    …re/support-breadcrumbs
    samukce committed Jul 7, 2016
    Copy the full SHA
    5b84dd1 View commit details
  9. Fixed c#6

    samukce committed Jul 7, 2016
    Copy the full SHA
    4a30b6e View commit details

Commits on Jul 8, 2016

  1. Copy the full SHA
    65e6989 View commit details
  2. Copy the full SHA
    364178b View commit details
  3. Copy the full SHA
    4fbfee7 View commit details
  4. Copy the full SHA
    93d97c8 View commit details

Commits on Jul 10, 2016

  1. Captures the last 100 crumb

    samukce committed Jul 10, 2016
    Copy the full SHA
    c1eca4d View commit details
  2. Copy the full SHA
    be8dbcb View commit details

Commits on Jul 11, 2016

  1. Copy the full SHA
    5373745 View commit details

Commits on Jul 18, 2016

  1. Renamed of the classes

    samukce committed Jul 18, 2016
    Copy the full SHA
    4c5b7aa View commit details
  2. Adjustments

    samukce committed Jul 18, 2016
    Copy the full SHA
    815397c View commit details

Commits on Jul 19, 2016

  1. foo test removed.

    samukce committed Jul 19, 2016
    Copy the full SHA
    cc516ac View commit details

Commits on Aug 3, 2016

  1. Merge pull request #131 from samukce/feature/support-breadcrumbs

    Feature support breadcrumbs #128
    dcramer authored Aug 3, 2016
    Copy the full SHA
    6049832 View commit details

Commits on Aug 10, 2016

  1. Fixes #123 - Make sure User is initialized

    - Avoid storing current HttpContext statically (requires things to
    happen in a certain order, and doesn't work with parallell requests)
    - Updating test case to initialize the package in the same order as the
    code does
    genne committed Aug 10, 2016
    Copy the full SHA
    ba9a625 View commit details
  2. Copy the full SHA
    102a29c View commit details
  3. userName -> username

    Just looks better :)
    genne committed Aug 10, 2016
    Copy the full SHA
    286d6eb View commit details
  4. Fixing indentation

    genne committed Aug 10, 2016
    Copy the full SHA
    b27511b View commit details
  5. Test case cleanup

    genne committed Aug 10, 2016
    Copy the full SHA
    51d2276 View commit details

Commits on Aug 12, 2016

  1. Stop logging the private key

    asbjornu committed Aug 12, 2016
    Copy the full SHA
    e24acdb View commit details
  2. Extract HttpWebRequest creation to a separate method to make the Send…

    …() method across sync and async more DRY and improve logging when the request fails.
    asbjornu committed Aug 12, 2016
    Copy the full SHA
    5218e48 View commit details
  3. Merge pull request #135 from getsentry/feature/improved-logging

    Improved logging
    asbjornu authored Aug 12, 2016
    Copy the full SHA
    83344ff View commit details
  4. Copy the full SHA
    b5196ac View commit details
  5. Merge pull request #136 from getsentry/feature/genne-user-fix

    Make sure User is initialized from the HTTP context.
    asbjornu authored Aug 12, 2016
    Copy the full SHA
    60e6cad View commit details
  6. Copy the full SHA
    8e816f3 View commit details
  7. Merge pull request #137 from getsentry/feature/resharper-cleanup-profile

    Added ReSharper cleanup profile
    asbjornu authored Aug 12, 2016
    Copy the full SHA
    1fd038b View commit details
  8. Refactory BodyConvert() method with a specific Convert() method based…

    … on current request's Content-Type header
    xpicio authored and asbjornu committed Aug 12, 2016
    Copy the full SHA
    bff5f96 View commit details
  9. Renamed IMediaType.IsValid() to Matches() and added documentation to …

    …the IMediaType interface.
    asbjornu committed Aug 12, 2016
    Copy the full SHA
    a0e7ade View commit details
  10. Copy the full SHA
    5b8ecc9 View commit details
  11. Copy the full SHA
    19b37f3 View commit details
  12. Copy the full SHA
    ae3b914 View commit details
  13. Copy the full SHA
    82345d8 View commit details
  14. Merge pull request #138 from getsentry/xpicio/improve_post_data_logging

    Improve POST data logging
    asbjornu authored Aug 12, 2016
    Copy the full SHA
    2232362 View commit details

Commits on Aug 15, 2016

  1. Copy the full SHA
    fdde7bf View commit details
  2. Copy the full SHA
    20dca5e View commit details
  3. Merge pull request #139 from getsentry/feature/sentry-version

    Upped sentry_version from 4 to 7
    asbjornu authored Aug 15, 2016
    Copy the full SHA
    0fbb52b View commit details
Showing with 6,102 additions and 1,741 deletions.
  1. +7 −0 .gitignore
  2. +8 −3 .travis.yml
  3. +0 −12 Makefile
  4. +106 −79 README.md
  5. +8 −0 appveyor.yml
  6. +258 −0 build.cake
  7. +182 −0 build.ps1
  8. +95 −0 build.sh
  9. +69 −47 docs/index.rst
  10. +0 −4 src/.nuget/packages.config
  11. +0 −35 src/Build.cmd
  12. +8 −0 src/CommonConfigurations.targets
  13. +0 −21 src/SharpRaven.build
  14. +110 −124 src/SharpRaven.sln
  15. +13 −0 src/SharpRaven.sln.DotSettings
  16. +29 −100 src/app/SharpRaven.Nancy/SharpRaven.Nancy.csproj
  17. +2 −0 src/app/SharpRaven.Nancy/SharpRaven.Nancy.csproj.DotSettings
  18. +0 −25 src/app/SharpRaven.Nancy/SharpRaven.Nancy.nuspec
  19. +0 −6 src/app/SharpRaven.Nancy/packages.config
  20. +50 −0 src/app/SharpRaven/Data/Breadcrumb.cs
  21. +10 −0 src/app/SharpRaven/Data/BreadcrumbLevel.cs
  22. +34 −0 src/app/SharpRaven/Data/BreadcrumbType.cs
  23. +147 −0 src/app/SharpRaven/Data/Context/App.cs
  24. +54 −0 src/app/SharpRaven/Data/Context/Browser.cs
  25. +121 −0 src/app/SharpRaven/Data/Context/Contexts.cs
  26. +258 −0 src/app/SharpRaven/Data/Context/Device.cs
  27. +14 −4 ...SharpRaven.WebTest/Properties/AssemblyInfo.cs → app/SharpRaven/Data/Context/DeviceOrientation.cs}
  28. +132 −0 src/app/SharpRaven/Data/Context/OperatingSystem.cs
  29. +104 −0 src/app/SharpRaven/Data/Context/Runtime.cs
  30. +14 −0 src/app/SharpRaven/Data/Context/RuntimeExtensions.cs
  31. +114 −0 src/app/SharpRaven/Data/DefaultHttpRequestBodyConverter.cs
  32. +3 −1 src/app/SharpRaven/Data/ExceptionData.cs
  33. +75 −2 src/app/SharpRaven/Data/ExceptionFrame.cs
  34. +122 −0 src/app/SharpRaven/Data/FormHttpRequestBodyConverter.cs
  35. +81 −0 src/app/SharpRaven/Data/HttpRequestBodyConverter.cs
  36. +72 −0 src/app/SharpRaven/Data/IHttpRequestBodyConverter.cs
  37. +129 −0 src/app/SharpRaven/Data/JsonHttpRequestBodyConverter.cs
  38. +30 −3 src/app/SharpRaven/Data/JsonPacket.cs
  39. +5 −2 src/app/SharpRaven/Data/JsonPacketFactory.cs
  40. +51 −0 src/app/SharpRaven/Data/MultiPartFormHttpRequestBodyConverter.cs
  41. +101 −0 src/app/SharpRaven/Data/RequestData.cs
  42. +116 −0 src/app/SharpRaven/Data/Requester.Net45.cs
  43. +229 −0 src/app/SharpRaven/Data/Requester.cs
  44. +10 −2 src/app/SharpRaven/Data/SentryEvent.cs
  45. +149 −50 src/app/SharpRaven/Data/SentryRequestFactory.cs
  46. +6 −10 src/app/SharpRaven/Data/SentryStacktrace.cs
  47. +8 −3 src/app/SharpRaven/Data/SentryUserFactory.cs
  48. +92 −0 src/app/SharpRaven/Data/SentryUserFeedback.cs
  49. +24 −6 src/app/SharpRaven/Dsn.cs
  50. +32 −2 src/app/SharpRaven/IRavenClient.cs
  51. +12 −2 src/app/SharpRaven/Logging/Filters/PhoneNumberFilter.cs
  52. +1 −1 src/app/SharpRaven/Logging/LogScrubber.cs
  53. +113 −0 src/app/SharpRaven/NoOpRavenClient.Net45.cs
  54. +239 −0 src/app/SharpRaven/NoOpRavenClient.cs
  55. +41 −60 src/app/SharpRaven/RavenClient.Net45.cs
  56. +118 −77 src/app/SharpRaven/RavenClient.cs
  57. +10 −8 src/app/SharpRaven/Serialization/{ErrorLevelConverter.cs → LowerInvariantStringEnumConverter.cs}
  58. +67 −115 src/app/SharpRaven/SharpRaven.csproj
  59. +2 −0 src/app/SharpRaven/SharpRaven.csproj.DotSettings
  60. +0 −24 src/app/SharpRaven/SharpRaven.nuspec
  61. +155 −0 src/app/SharpRaven/Utilities/CircularBuffer.cs
  62. +86 −0 src/app/SharpRaven/Utilities/EntryAssemblyNameLocator.cs
  63. +3 −3 src/app/SharpRaven/Utilities/GzipUtil.cs
  64. +3 −3 src/app/SharpRaven/Utilities/PacketBuilder.cs
  65. +98 −0 src/app/SharpRaven/Utilities/RuntimeInfoHelper.cs
  66. +75 −4 src/app/SharpRaven/Utilities/SystemUtil.cs
  67. +0 −5 src/app/SharpRaven/packages.config
  68. +8 −12 src/tests/SharpRaven.Nancy.UnitTests/LogModule.cs
  69. +35 −126 src/tests/SharpRaven.Nancy.UnitTests/SharpRaven.Nancy.UnitTests.csproj
  70. +2 −0 src/tests/SharpRaven.Nancy.UnitTests/SharpRaven.Nancy.UnitTests.csproj.DotSettings
  71. +0 −10 src/tests/SharpRaven.Nancy.UnitTests/packages.config
  72. +107 −0 src/tests/SharpRaven.UnitTests/Data/BreadcrumbsRecordTests.cs
  73. +137 −0 src/tests/SharpRaven.UnitTests/Data/Context/AppTests.cs
  74. +54 −0 src/tests/SharpRaven.UnitTests/Data/Context/BrowserTests.cs
  75. +82 −0 src/tests/SharpRaven.UnitTests/Data/Context/ContextsTests.cs
  76. +207 −0 src/tests/SharpRaven.UnitTests/Data/Context/DeviceTests.cs
  77. +109 −0 src/tests/SharpRaven.UnitTests/Data/Context/OperatingSystemTests.cs
  78. +85 −0 src/tests/SharpRaven.UnitTests/Data/Context/RuntimeTests.cs
  79. +8 −0 src/tests/SharpRaven.UnitTests/Data/Context/TestCase.cs
  80. +81 −1 src/tests/SharpRaven.UnitTests/Data/ExceptionFrameTests.cs
  81. +131 −0 src/tests/SharpRaven.UnitTests/Data/HttpRequestBodyConverterTests.cs
  82. +38 −2 src/tests/SharpRaven.UnitTests/Data/JsonPacketFactoryTests.cs
  83. +35 −24 src/tests/SharpRaven.UnitTests/Data/JsonPacketTests.cs
  84. +101 −0 src/tests/SharpRaven.UnitTests/Data/SentryEventTests.cs
  85. +4 −8 src/tests/SharpRaven.UnitTests/Data/SentryExceptionTests.cs
  86. +0 −19 src/tests/SharpRaven.UnitTests/Data/SentryRequestTests.cs
  87. +2 −2 src/tests/SharpRaven.UnitTests/Data/SentryStacktraceTests.cs
  88. +28 −0 src/tests/SharpRaven.UnitTests/DsnTests.cs
  89. +9 −13 src/tests/SharpRaven.UnitTests/Integration/CaptureAsyncTests.cs
  90. +53 −12 src/tests/SharpRaven.UnitTests/Integration/CaptureTests.cs
  91. +4 −4 src/tests/SharpRaven.UnitTests/Logging/CreditCardFilterTests.cs
  92. +10 −6 src/tests/SharpRaven.UnitTests/Logging/FilterTestsBase.cs
  93. +1 −1 src/tests/SharpRaven.UnitTests/Logging/LogScrubberTests.cs
  94. +16 −4 src/tests/SharpRaven.UnitTests/Logging/PhoneNumberFilterTests.cs
  95. +4 −4 src/tests/SharpRaven.UnitTests/Logging/SocialSecurityFilterTests.cs
  96. +0 −208 src/tests/SharpRaven.UnitTests/RavenClientTests.Net45.cs
  97. +146 −0 src/tests/SharpRaven.UnitTests/RavenClientTests/BreadcrumbsRavenClientTests.cs
  98. +3 −3 src/tests/SharpRaven.UnitTests/RavenClientTests/CaptureAsyncTests.cs
  99. +3 −3 src/tests/SharpRaven.UnitTests/RavenClientTests/CaptureExceptionAsyncTests.cs
  100. +3 −3 src/tests/SharpRaven.UnitTests/RavenClientTests/CaptureMessageAsyncTests.cs
  101. +39 −15 src/tests/SharpRaven.UnitTests/RavenClientTests/CaptureTester.cs
  102. +8 −1 src/tests/SharpRaven.UnitTests/RavenClientTests/RavenClientTests.cs
  103. +3 −3 src/tests/SharpRaven.UnitTests/SchemaHelper.cs
  104. +56 −0 src/tests/SharpRaven.UnitTests/Serialization/LowerInvariantConverterTests.cs
  105. +47 −131 src/tests/SharpRaven.UnitTests/SharpRaven.UnitTests.csproj
  106. +1 −0 src/tests/SharpRaven.UnitTests/SharpRaven.UnitTests.csproj.DotSettings
  107. +84 −0 src/tests/SharpRaven.UnitTests/Utilities/CircularBufferTests.cs
  108. +1 −0 src/tests/SharpRaven.UnitTests/Utilities/HttpSimulator.cs
  109. +16 −2 src/tests/SharpRaven.UnitTests/Utilities/PacketBuilderTests.cs
  110. +17 −0 src/tests/SharpRaven.UnitTests/Utilities/RuntimeInfoHelperTests.cs
  111. +15 −0 src/tests/SharpRaven.UnitTests/Utilities/TestHelper.cs
  112. +0 −7 src/tests/SharpRaven.UnitTests/packages.config
  113. +0 −55 src/tests/SharpRaven.WebTest/Default.aspx
  114. +0 −134 src/tests/SharpRaven.WebTest/SharpRaven.WebTest.csproj
  115. +0 −30 src/tests/SharpRaven.WebTest/Web.Debug.config
  116. +0 −31 src/tests/SharpRaven.WebTest/Web.Release.config
  117. +0 −20 src/tests/SharpRaven.WebTest/Web.config
  118. +0 −4 src/tests/SharpRaven.WebTest/packages.config
  119. +4 −0 tools/packages.config
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -14,3 +14,10 @@ obj/
/TestResult.xml
docs/_build
.vs
artifacts/
build/
tools/
!tools/packages.config
!tools/NuGet.config
.vscode
.idea
11 changes: 8 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
language: csharp
mono:
- weekly

solution: src/SharpRaven.sln

sudo: false
install:
- make
dotnet: 2.0.0
dist: trusty

script:
- make test
- ./build.sh --verbosity diagnostic --target Travis
12 changes: 0 additions & 12 deletions Makefile

This file was deleted.

185 changes: 106 additions & 79 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,29 @@
Usage
=====
Instantiate the client with your DSN:
<p align="center">
<a href="https://sentry.io" target="_blank" align="center">
<img src="https://sentry-brand.storage.googleapis.com/sentry-logo-black.png" width="280">
</a>
<br />
</p>

Official [Sentry](https://sentry.io/for/csharp/) SDK for .NET.
===========

| | Stable | Pre-release |
| -------------------: | :----------------------------: | :------------------: |
| **GitHub** | [![GitHub release][1]][2] | - |
| **SharpRaven** | [![NuGet][3]][4] | [![NuGet][5]][4] |
| **SharpRaven.Nancy** | [![NuGet][6]][7] | [![NuGet][8]][7] |
| **Travis Build** | [![Master][12]][14] | [![Develop][13]][14] |
| **AppVeyor Build** | [![Master][9]][10] | [![Develop][15]][10] |

## Usage
Instantiate the client with your 'Data Source Name' (DSN):

```csharp
var ravenClient = new RavenClient("http://public:secret@example.com/project-id");
var ravenClient = new RavenClient("https://public@sentry.io/project-id");
```

Capturing Exceptions
--------------------
### Capturing Exceptions
Call out to the client in your catch block:

```csharp
@@ -16,24 +32,22 @@ try
int i2 = 0;
int i = 10 / i2;
}
catch (Exception e)
catch (Exception exception)
{
ravenClient.CaptureException(e);
ravenClient.Capture(new SentryEvent(exception));
}
```

Logging Non-Exceptions
----------------------
### Logging Non-Exceptions
You can capture a message without being bound by an exception:

```csharp
ravenClient.CaptureMessage("Hello World!");
ravenClient.Capture(new SentryEvent("Hello World!"));
```

Additional Data
---------------
You can add additional data to the [`Exception.Data`](https://msdn.microsoft.com/en-us/library/system.exception.data.aspx)
property on exceptions thrown about in your solution:
### Additional Data
You can add additional data to the [`Exception.Data`][ex] property on
exceptions thrown about in your solution:

```csharp
try
@@ -47,61 +61,34 @@ catch (Exception exception)
}
```

The data `SomeKey` and `SomeValue` will be captured and presented in the `extra` property on Sentry.
The data `SomeKey` and `SomeValue` will be captured and presented in the `extra`
property on Sentry.

Additionally, the capture methods allow you to provide additional data to be sent with your request.
`CaptureException` supports both the `tags` and `extra` properties, and `CaptureMessage` additionally
supports the `level` property.
Additionally, the `SentryEvent` class allow you to provide extra data to be
sent with your request, such as `ErrorLevel`, `Fingerprint`, a custom `Message`
and `Tags`.

The full argument specs are:
### Async Support
In the .NET 4.5 or later build of SharpRaven, there's an `async` version of the `Capture`
method as well:

```csharp
string CaptureException(Exception exception,
SentryMessage message = null,
ErrorLevel level = ErrorLevel.Error,
IDictionary<string, string> tags = null,
string[] fingerprint = null,
object extra = null)

string CaptureMessage(SentryMessage message,
ErrorLevel level = ErrorLevel.Info,
IDictionary<string, string> tags = null,
string[] fingerprint = null,
object extra = null)

async Task<string> CaptureAsync(SentryEvent @event);
```

Async Support
-------------
In the .NET 4.5 build of SharpRaven, there are `async` versions of the above methods as well:
### Nancy Support
You can install the
[SharpRaven.Nancy][nuget-nancy] package to capture the HTTP context in
[Nancy][nancy] applications. It will auto-register on the `IPipelines.OnError`
event, so all unhandled exceptions will be sent to Sentry.

```csharp
Task<string> CaptureExceptionAsync(Exception exception,
SentryMessage message = null,
ErrorLevel level = ErrorLevel.Error,
IDictionary<string, string> tags = null,
string[] fingerprint = null,
object extra = null);

Task<string> CaptureMessageAsync(SentryMessage message,
ErrorLevel level = ErrorLevel.Info,
IDictionary<string, string> tags = null,
string[] fingerprint = null,
object extra = null);
```

Nancy Support
-------------
You can install the [SharpRaven.Nancy](https://www.nuget.org/packages/SharpRaven.Nancy) package to capture the HTTP context
in [Nancy](http://nancyfx.org/) applications. It will auto-register on the `IPipelines.OnError` event, so all unhandled
exceptions will be sent to Sentry.

The only thing you have to do is provide a DSN, either by registering an instance of the `Dsn` class in your container:
The only thing you have to do is provide a DSN, either by registering an
instance of the `Dsn` class in your container:

```csharp
protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
{
container.Register(new Dsn("http://public:secret@example.com/project-id"));
container.Register(new Dsn("https://public@sentry.io/project-id"));
}
```

@@ -113,13 +100,14 @@ or through configuration:
<section name="sharpRaven" type="SharpRaven.Nancy.NancyConfiguration, SharpRaven.Nancy" />
</configSections>
<sharpRaven>
<dsn value="http://public:secret@example.com/project-id" />
<dsn value="https://public@sentry.io/project-id" />
</sharpRaven>
</configuration>
```

The DSN will be picked up by the auto-registered `IRavenClient` instance, so if you want to send events to
Sentry, all you have to do is add a requirement on `IRavenClient` in your classes:
The DSN will be picked up by the auto-registered `IRavenClient` instance, so if
you want to send events to Sentry, all you have to do is add a requirement on
`IRavenClient` in your classes:

```csharp
public class LoggingModule : NancyModule
@@ -133,27 +121,66 @@ public class LoggingModule : NancyModule
}
````

Debugging SharpRaven
--------------------

If an exception is raised internally to `RavenClient` it is logged to the Console. To extend this behaviour use
the property `ErrorOnCapture`:
### Debugging SharpRaven
If an exception is raised internally to `RavenClient` it is logged to the
`Console`. To extend this behaviour use the property `ErrorOnCapture`:

```csharp
ravenClient.ErrorOnCapture = exception => {
// custom code here
ravenClient.ErrorOnCapture = exception =>
{
// Custom code here
};
````

You can also hook into the `BeforeSend` function to inspect or manipulate the
data being sent to Sentry before it is sent:

```csharp
ravenClient.BeforeSend = requester =>
{
// Here you can log data from the requester
// or replace it entirely if you want.
return requester;
};
```

Get it!
-------
You can clone and build SharpRaven yourself, but for those of us who are happy with prebuilt binaries, there's [a NuGet package](https://www.nuget.org/packages/SharpRaven).

Resources
---------
* [![Build Status](http://teamcity.codebetter.com/app/rest/builds/buildType:(id:bt1000)/statusIcon)](http://teamcity.codebetter.com/viewType.html?buildTypeId=bt1000&guest=1)
* [![Join the chat at https://gitter.im/getsentry/raven-csharp](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/getsentry/raven-csharp?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
* [Code](http://github.com/getsentry/raven-csharp)
* [Mailing List](https://groups.google.com/group/getsentry)
* [IRC](irc://irc.freenode.net/sentry) (irc.freenode.net, #sentry)
## Get it!
You can clone and build SharpRaven yourself, but for those of us who are happy
with prebuilt binaries, there's NuGet packages of both
[SharpRaven][nuget] and
[SharpRaven.Nancy][nuget-nancy].

## Resources
* [![Join the chat at https://gitter.im/getsentry/raven-csharp][gitter-badge]][gitter-link]
* [Code][github]
* [Bug Tracker](https://github.com/getsentry/raven-csharp/issues)
* [Forum][forum]
* [Mailing List][mail]
* [IRC][irc] (`#sentry` on `irc.freenode.net`)
* Follow [@getsentry](https://twitter.com/getsentry) on Twitter for updates

[1]: https://img.shields.io/github/release/getsentry/raven-csharp.svg
[2]: https://github.com/getsentry/raven-csharp/releases/latest
[3]: https://img.shields.io/nuget/v/SharpRaven.svg
[4]: https://www.nuget.org/packages/SharpRaven
[5]: https://img.shields.io/nuget/vpre/SharpRaven.svg
[6]: https://img.shields.io/nuget/v/SharpRaven.Nancy.svg
[7]: https://www.nuget.org/packages/SharpRaven.Nancy
[8]: https://img.shields.io/nuget/vpre/SharpRaven.Nancy.svg
[9]: https://img.shields.io/appveyor/ci/sentry/raven-csharp/master.svg
[10]: https://ci.appveyor.com/project/sentry/raven-csharp
[12]: https://travis-ci.org/getsentry/raven-csharp.svg?branch=master
[13]: https://travis-ci.org/getsentry/raven-csharp.svg?branch=develop
[14]: https://travis-ci.org/getsentry/raven-csharp
[15]: https://img.shields.io/appveyor/ci/sentry/raven-csharp/develop.svg
[ex]: https://msdn.microsoft.com/en-us/library/system.exception.data.aspx
[gitter-badge]: https://badges.gitter.im/Join%20Chat.svg
[gitter-link]: https://gitter.im/getsentry/raven-csharp?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
[github]: http://github.com/getsentry/raven-csharp/develop/src
[mail]: https://groups.google.com/group/getsentry
[forum]: https://forum.sentry.io/c/sdks
[irc]: irc://irc.freenode.net/sentry
[nuget]: https://www.nuget.org/packages/SharpRaven
[nuget-nancy]: https://www.nuget.org/packages/SharpRaven.Nancy
[nancy]: http://nancyfx.org/
8 changes: 8 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
environment:
NuGetOrgApiKey:
secure: pAgSjPrAcwxzQMP32ya83+Hy+g3uS2J5ubnjv49d9urupYC5xJLVqcPOpnJ4ChYn
version: 1.0.{build}
image: Visual Studio 2017
build_script:
- ps: .\build.ps1 -Target AppVeyor -Verbosity Diagnostic
test: off
Loading