Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CORS error trying to consume __admin/mappings #711

Closed
devmariodiaz opened this issue Jan 5, 2022 · 9 comments
Closed

CORS error trying to consume __admin/mappings #711

devmariodiaz opened this issue Jan 5, 2022 · 9 comments
Labels

Comments

@devmariodiaz
Copy link

Hello Stef,

Happy new year and hoping that you are doing well.

I'm trying to consume __admin/mappings to create new mappings using the method/verb POST and an application developed on React, but I'm getting an error when I send any request. CORS error.

Screen Shot 2022-01-05 at 3 34 44 PM

Any clue what I can do to resolve that?

@StefH
Copy link
Collaborator

StefH commented Jan 6, 2022

Hello @devmariodiaz,

CORS support is not enabled by default, you can enable it yourself when configuring WireMock Server, like:

/* https://stackoverflow.com/questions/31942037/how-to-enable-cors-in-asp-net-core */
            /* Enable Cors */
            settings.AdditionalServiceRegistration = services =>
            {
                services.AddCors(corsOptions =>
                    corsOptions.AddPolicy("MyPolicy",
                        corsPolicyBuilder =>
                        {
                            corsPolicyBuilder
                                .AllowAnyHeader()
                                .AllowAnyMethod()
                                .AllowAnyOrigin();
                        }));

                settings.Logger.Debug("Enable Cors");
            };

            /* Use Cors */
            settings.PreWireMockMiddlewareInit = app =>
            {
                var appBuilder = (IApplicationBuilder)app;
                appBuilder.UseCors();

                settings.Logger.Debug("Use Cors");
            };

            _server = WireMockServer.Start(settings);

See also https://github.com/WireMock-Net/WireMock.Net/blob/cors/examples/WireMock.Net.StandAlone.NETCoreApp/Program.cs#L38

@devmariodiaz
Copy link
Author

devmariodiaz commented Jan 6, 2022

Thank you, Stef for your quick answer.

I tried to apply this configuration that you provided, but, it's still sending me the same error related to the CORS error.

We are using our app as a Standalone and as a Service, may be this be the problem?

Screen Shot 2022-01-06 at 7 09 03 AM

@StefH
Copy link
Collaborator

StefH commented Jan 6, 2022

I forgot some code.

You need to use the same policy-name:

/* https://stackoverflow.com/questions/31942037/how-to-enable-cors-in-asp-net-core */
            /* Enable Cors */
            var policyName = "MyPolicy";
            settings.AdditionalServiceRegistration = services =>
            {
                services.AddCors(corsOptions =>
                    corsOptions.AddPolicy(policyName, // ◀️ MyPolicy
                        corsPolicyBuilder =>
                        {
                            corsPolicyBuilder
                                .AllowAnyHeader()
                                .AllowAnyMethod()
                                .AllowAnyOrigin();
                        }));

                settings.Logger.Debug("Enable Cors");
            };

            /* Use Cors */
            settings.PreWireMockMiddlewareInit = app =>
            {
                var appBuilder = (IApplicationBuilder)app;
                appBuilder.UseCors(policyName); // ◀️ MyPolicy

                settings.Logger.Debug("Use Cors");
            };

This works for me:
https://www.w3schools.com/xml/tryit.asp?filename=tryajax_get2
image

-->

image

calling __amdin/mappings also works fine:
image

@devmariodiaz
Copy link
Author

Thanks a lot for your help, Stef,

Now is working fine for me.

@StefH
Copy link
Collaborator

StefH commented Jan 6, 2022

https://github.com/WireMock-Net/WireMock.Net/wiki/Cors

@StefH
Copy link
Collaborator

StefH commented Jan 12, 2022

@devmariodiaz
I decided to add Cors support in WireMock.Net server by using a setting CorsPolicyOptions.

Can you try preview (1.4.31-ci-15770) ?

var settings = new WireMockServerSettings
{
   CorsPolicyOptions = CorsPolicyOptions.AllowAll
};

@devmariodiaz
Copy link
Author

Thanks a lot Stef,

I will test this preview ASAP, I believe this is a great decision.

@StefH
Copy link
Collaborator

StefH commented Jan 15, 2022

@devmariodiaz
Did you have time to verify?

@StefH
Copy link
Collaborator

StefH commented Jan 24, 2022

#714

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants