# How to disable HTTP-Mock server within environment config file

**URL:** <https://discuss.emberjs.com/t/how-to-disable-http-mock-server-within-environment-config-file/6660>\
**Category:** Ember CLI\
**Created:** [November 11, 2014, 9:25am UTC](https://discuss.emberjs.com/t/how-to-disable-http-mock-server-within-environment-config-file/6660 "2014-11-11T09:25:38Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![dennismende](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/dennismende/32/9958_2.png) [@dennismende](https://discuss.emberjs.com/u/dennismende)\
**Post date:** [November 11, 2014, 9:25am UTC](https://discuss.emberjs.com/t/how-to-disable-http-mock-server-within-environment-config-file/6660/1 "2014-11-11T09:25:38Z")

</div>

Hi,

I want to use HTTP-mocks while development but sometimes I have to test our backend API. Now I want to know how it’s possible to disable the mock server.

---

<div class="post-metadata">

**Author:** ![mfeckie](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/mfeckie/32/15198_2.png) [@mfeckie](https://discuss.emberjs.com/u/mfeckie)\
**Post date:** [November 11, 2014, 10:25am UTC](https://discuss.emberjs.com/t/how-to-disable-http-mock-server-within-environment-config-file/6660/2 "2014-11-11T10:25:00Z")

</div>

I believe that you can do it by passing the proxy flag.

```
ember server --proxy http://127.0.0.1:8080 

```

This would divert api requests to the specified address.

I haven’t needed to do this, so haven’t tried it and apologies if it doesn’t fix you problem 😄

---

<div class="post-metadata">

**Author:** ![dennismende](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/dennismende/32/9958_2.png) [@dennismende](https://discuss.emberjs.com/u/dennismende)\
**Post date:** [November 11, 2014, 10:47am UTC](https://discuss.emberjs.com/t/how-to-disable-http-mock-server-within-environment-config-file/6660/3 "2014-11-11T10:47:46Z")

</div>

Thanks but that’s not working.

I tried several things but nothing works. I also tried to create an http-proxy but nothing happens.

---

<div class="post-metadata">

**Author:** ![dennismende](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/dennismende/32/9958_2.png) [@dennismende](https://discuss.emberjs.com/u/dennismende)\
**Post date:** [November 11, 2014, 11:12am UTC](https://discuss.emberjs.com/t/how-to-disable-http-mock-server-within-environment-config-file/6660/4 "2014-11-11T11:12:31Z")

</div>

I want to add a few additional information:

1. I use ember-data
2. I want to proxy every request to mock server

---

<div class="post-metadata">

**Author:** ![rwjblue](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/rwjblue/32/9411_2.png) [@rwjblue](https://discuss.emberjs.com/u/rwjblue)\
**Post date:** [November 11, 2014, 11:52am UTC](https://discuss.emberjs.com/t/how-to-disable-http-mock-server-within-environment-config-file/6660/5 "2014-11-11T11:52:39Z")

</div>

@dennismende - Wrap your the section in your `server/index.js` in an if and check for an environment variable.

Replace the following line

```javascript
 mocks.forEach(function(route) { route(app); });

```

With something like this:

```javascript
if (process.env.DISABLE_MOCK !== 'true') {
  mocks.forEach(function(route) { route(app); });
}

```

Then use that ENV variable to enable or disable the mocks as desired:

```bash
DISABLE_MOCK=true ember serve

```

---

<div class="post-metadata">

**Author:** ![dennismende](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/dennismende/32/9958_2.png) [@dennismende](https://discuss.emberjs.com/u/dennismende)\
**Post date:** [November 11, 2014, 11:57am UTC](https://discuss.emberjs.com/t/how-to-disable-http-mock-server-within-environment-config-file/6660/6 "2014-11-11T11:57:39Z")

</div>

Thank you for your reply. That helps me a lot but I have an additional problem.

If I user ember server --proxy … all ember-data request aren’t proxied. Do I forget anything?

---

<div class="post-metadata">

**Author:** ![dennismende](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/dennismende/32/9958_2.png) [@dennismende](https://discuss.emberjs.com/u/dennismende)\
**Post date:** [November 13, 2014, 12:27pm UTC](https://discuss.emberjs.com/t/how-to-disable-http-mock-server-within-environment-config-file/6660/7 "2014-11-13T12:27:16Z")

</div>

Ok i found the problem. I set the host property of the application-adapter to my backend URL.

If you do that the http-mocks aren’t working.

---

<div class="post-metadata">

**Author:** ![samwoodard](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/samwoodard/32/14213_2.png) [@samwoodard](https://discuss.emberjs.com/u/samwoodard)\
**Post date:** [December 11, 2014, 4:01pm UTC](https://discuss.emberjs.com/t/how-to-disable-http-mock-server-within-environment-config-file/6660/8 "2014-12-11T16:01:48Z")

</div>

IMO `ember serve --proxy http://host:port/` should disable http-mocks and http-proxies by default.

---

<div class="post-metadata">

**Author:** ![saladfork](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/saladfork/32/9860_2.png) [@saladfork](https://discuss.emberjs.com/u/saladfork)\
**Post date:** [December 18, 2014, 5:24pm UTC](https://discuss.emberjs.com/t/how-to-disable-http-mock-server-within-environment-config-file/6660/9 "2014-12-18T17:24:12Z")

</div>

@rwjblue, @samwoodard: I had a similar requirement to use http-mocks by default, but make requests to a real server when provided one via `--proxy`. By slightly tweaking @rwjblue’s solution, I’ve come up with the following which seems to be working well:

```nohighlight
function usingProxy() {
    return !!process.argv.filter(function (arg) {
        return arg.indexOf('--proxy') === 0;
    }).length;
}

/* ... */

if (usingProxy()) { return; }

mocks.forEach(function(route) { route(app); });
proxies.forEach(function(route) { route(app); });

```

---

<div class="post-metadata">

**Author:** ![seawatts](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/seawatts/32/9950_2.png) [@seawatts](https://discuss.emberjs.com/u/seawatts)\
**Post date:** [April 1, 2015, 4:20pm UTC](https://discuss.emberjs.com/t/how-to-disable-http-mock-server-within-environment-config-file/6660/10 "2015-04-01T16:20:40Z")

</div>

This is great! I still think this should be the default behavior when creating using the mock server.

---

<div class="post-metadata">

**Author:** ![psotos](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/psotos/32/9354_2.png) [@psotos](https://discuss.emberjs.com/u/psotos)\
**Post date:** [December 20, 2015, 4:02pm UTC](https://discuss.emberjs.com/t/how-to-disable-http-mock-server-within-environment-config-file/6660/11 "2015-12-20T16:02:10Z")

</div>

Thank you! This resolved a problem I was having as well!!
