postmanlabs / postman-app-support

Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster.
https://www.postman.com
5.82k stars 839 forks source link

POST request sent twice #1983

Open balabanmario opened 8 years ago

balabanmario commented 8 years ago

Hello, I think there is an issue with Postman Chrome Extension ver 4.1.3: It sends the POST request twice. Here is the raw POST I'm trying to execute:

POST /myapp/rest/report/pdf/report/client/1/spoke/2 HTTP/1.1
Host: localhost:8989
network-id: 1
current-user-id: 3
networkShortName: debank
Cache-Control: no-cache
Postman-Token: 87f92704-0c5d-1405-3e16-9f366d107fcd

{
     "forecastIds": [4]
}

The post generates a pdf file that is returned to the caller. I have tried the same request with other REST client and the request is sent only once. OS: osx yosemite Chrome Version 49.0.2623.110 (64-bit) Thanks.

aishas11 commented 8 years ago

I encountered the same issue today with a route that pipes a pdf response. tried the same route with DHC and it only sent request once.

abhijitkane commented 8 years ago

We might have a fix for this - will try to push this out soon.

ghost commented 8 years ago

Hi guys. Not sure if we're talking about the same issue, but I just noticed my request (a simple GET) is sent twice too. It happens only with the shortcut Cmd+enter, when the focus in on the URL input.

Tell me if I need to create a new issue or if it happens to be the same we're talking about.

michaelfreund commented 8 years ago

Having the same issues with cmd+enter on v4.2.2. On my other mac running v4.1.0 everything works as expected.

PlanetJumble commented 7 years ago

Why do topics like this keep getting closed without comment while the problem itself remains? See #615 for example.

I also have this problem with the latest Chrome based version (4.10.3), every request that receives binary content like e.g. application/pdf does get repeated, while others are fine.

sdnts commented 7 years ago

@PlanetJumble I believe this was closed because this wasn't reproducible. Reopening this. Do you mean a response that contains a PDF gets sent twice? That's super weird (pretty sure I misunderstood, though)

suvaio commented 7 years ago

Faced the same issue just now.

PlanetJumble commented 7 years ago

@madebysid I find it quite easy to reproduce. I just added the following lines to a controller (Grails 3 in this example, but shouldn't matter if you respond in a similar matter):

    response.contentType = 'application/pdf'
    response.contentLength = 10
    response.outputStream << [1,2,3,4,5,6,7,8,9,10]

When I call the mapped URL using any HTTP method the request is always repeated. Change the response to something else, text or JSON for example, the request only gets performed just once.

jasonmorita commented 7 years ago

@PlanetJumble Same for me with Express.

Issue name change suggestion: The Postman Always Rings Twice

spekdrum commented 7 years ago

Same problem here. Postman V. 4.10.3. Its a POST service that returns a PDF (Content-Type: application/pdf). API is secured with cookie tokens. Service is called twice. Using SoapUI does not happen.

Maybe it's related with the fact that the response its a file to be downloaded.

somaiah commented 7 years ago

I noticed this happening to me as well.

I made a GET call with Interceptor on I then changed the settings on the GET call to a POST The post had the following headers:

Accept X-DevTools-Emulate-Network-Conditions-Client-Id X-Requested-With USer-Agent X-CSRFToken Referer Accept-Encoding Cookie Content-Type

The data sent was raw in application/json format

ghost commented 7 years ago

Same thing here with Version 4.10.7.

Both manual click on Send and CMD+Enter seems to produce a doubled request.

I thought it was a bug on my end, but from what my Yii2 debugger says it really looks like Postman posts twice. The secondi made roughly 7 seconds after the first one.

I have the issue with POST. I haven't tested the other verbs.

thingdeux commented 7 years ago

Chiming in with the same issue - can confirm for @sebascar that this happens with other verbs. Experiencing it in POST and PUT requests.

sdnts commented 7 years ago

@jasonmorita Can you attach a little server that does this here? You can also email it to help@getpostman.com. I made an Express server as well, and wasn't able to do this. I'm checking with v5.0.1.

FYI, my server just looks like:

var app = require('express')();

app.post('/', function (req, res) {
        console.log('Hit');
        res.setHeader('Content-Type', 'application/pdf');
        res.setHeader('Content-Length', 10);
        res.send([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
})

app.listen(8000, function () {
        console.log('Live on 8000')
})

I see the download popover as expected, but the app hits the server only once. Your server might help us get to the bottom of this for good.

Gopaljeepurwar commented 7 years ago

Facing same issue with POST call: Chrome Version : 59.0.3071.115 (Official Build) (64-bit) Postman Version : 5.0.2 OS version : macOS Sierra 10.12.5 (16F73)

emcarson commented 7 years ago

Facing a similar issue. Whenever I paste an URL in the Chrome address bar (not even using the Postman App) the request is sent twice to the server. If I disable the Postman extension this does not happen.

Google Chrome: 60.0.3112.90 (Official Build) (64-bit) Postman Version: 5.1.3 OS: Linux Mint 17.3 Rosa - Cinnamon 64 bit

slavafomin commented 6 years ago

I'm not sure what's triggering this, but I'm also encounter this behavior sometimes. Maybe it's related to the fact, that I'm pausing request handling by using IDE to debug the Node.js code.

repac commented 6 years ago

Another "Me too" here. Using Native client 5.5.0 on Windows 10.
My simple GET with no headers is run twice (as verified by viewing the response in Postman Console). I shared my Collection containing the request, with a colleague and he also ran the request. For him (also Native client 5.5.0 on Windows 10), it is only run once. (as verified by viewing the response in Postman Console).

a85 commented 6 years ago

Can't seem to replicate. Can everyone please send a request to Postman Echo (https://docs.postman-echo.com) instead of their servers and verify?

repac commented 6 years ago

Frustratingly, it's not sending my requests twice today (even when running the very same GET I was running when I posted in this thread!). I tried sending all verbs and each only sent once to Postman Echo.

a85 commented 6 years ago

Closing this for now. Will re-open if I see more reports.

raghuugare commented 6 years ago

We found this issue Today too, with Postman app, version 5.5.0 It's sending POST requests twice.

ifmx commented 6 years ago

I got the same issue with the Postman app, version 5.5.2

tobiaspetrasch commented 6 years ago

Same issue. Sends a post request twice.

anirudhsama commented 6 years ago

Same issue with POST requests, version 5.5.2

wiktor-golonka commented 6 years ago

It happened for me today on version 6.0.9. I've got two exactly same looking tabs with same POST request, however the first one is sending two POST requests. I can't give you any instructions to reproduce because the second tab with the identical request is working perfectly normal.

Actually a different tab I had with different body also is sending a request twice. However when I am creating a new tab, the new tab it's working normally. Hope that will help.

normancarcamo commented 6 years ago

Same issue here!, June 13, 2018! damn, I was scared about my routes.

jhample commented 6 years ago

Happening to me also! Just today got stats from the application I'm sending to and they have the same count of my Method call in their logs, exactly the same... twice! They show a count of 3614 and then another line with count 3614 for my call. Solutions?

gdemecki commented 5 years ago

Same issue for me.

Postman 6.4.0 native Ubuntu 18.04

Two identical requests, but with a different postman-token are sent everytime.

kamalaknn commented 5 years ago

Hey @gdemecki

Can you give us some more data as to why this is happening?

  1. Are you using a shortcut (Enter/ Cmd-Ctrl + Enter) or the send button?
  2. Are you seeing this for every request you send or randomly?
  3. Are you seeing two entries in history and console as well or only over the network?
gdemecki commented 5 years ago

Hi @kamalaknn,

  1. Are you using a shortcut (Enter/ Cmd-Ctrl + Enter) or the send button?

It doesn't matter, in both ways result was the same.

  1. Are you seeing this for every request you send or randomly?

Just for a single request from my collection. Always, not randomly.

Reproduction

I have two workstations, I was logged-in to Postman with the same user on both. I've edited one of my requests and didn't save the changes. On the second workstation I've done small cleanup and moved this request to a separate folder. Some time passed, I came back to my first workstation and (AFAIR) played around with this unsaved request (which was in the meantime moved) & finally saved it.

Although the request was correctly synced and appeared only once in my folders structure, probably from this moment everytime when I've executed it, it was send twice to my server (I saw in the server log always duplicated requests, but with a different postman-token).

I've solved this problem by deleting the buggy request and re-creating it.

Small note: in the meantime I've upgraded my Postman on my first workstation to the 6.4.0 version, but I'm not sure if it does matter.

jaircuevajunior commented 5 years ago

I was running into this issue with the version 6.6.1 (Latest). Switched back to Deepin 15.8 default one which is currently 6.0.9 and no duplicated requests happened with the same route.

a85 commented 5 years ago

Closing this issue as this was filed on a much older version of the app. If you see the exact same issue with the postman-echo.com/post endpoint, let us know.

liwei78 commented 5 years ago

hi, I found this issue when I copy a folder, rename and drag it into another folder, IT HAPPENS.

Now I delete and recreated the folder, it fixed.

mktunited commented 5 years ago

Hello, We are experiencing the same issue. In our case. It is only happening woo commerce order emails it seems random though.

gerald-dotcom commented 4 years ago

I can confirm this issue happening with long running request. It just send triple times, not just twice.

salememd commented 4 years ago

happened to me today, I did exactly what @liwei78 said

jerryoptus commented 4 years ago

it happens when run a long request

harishasan commented 2 years ago

Happening again image

macOS Big Sur 11.6.1

keithhilen commented 2 years ago

I'm having the same issue. Postman creates two connections, sends the request on the second one, and appears to leave the first one open until the server times it out. It doesn't happen with curl. There's another twist. It only occurs if the url is localhost, not 127.0.0.1. Something about the name lookup? I am running Postman version 9.19.0, MacOS Monterey, version 12.1 (21C52).

I first noticed this when I closed the server after issuing a Postman request and it took a few seconds to stop. If I start the server and then stop it without a request, it terminates immediately. If I open the server, send a curl request, and then close it, it also closes immediately. It seems pretty clear that Postman is the culprit.

I created a simplified Express.js server to demonstrate the issue:

var express = require('express');
var app = express();

var router = express.Router();

router.route('/')
  .get((req, res) => {
    // This shows the request happening
    console.log("Request");
    res.send("test hello");
  });

app.use('/', router);

var server = app.listen(10001);
server.setTimeout(5*60*1000);

var stopping = false;
process.on('SIGINT', function() {
  if (stopping) {
    process.exit();
  }
  console.log("stopping")
  stopping = true;
  server.close(() => {console.log("server close complete")});
  console.log("stopped")
});

// This shows the connections being made
var lastsocket = null;
server.on('connection', function(socket) {
console.log("connection", lastsocket == socket);
lastsocket = socket;
  socket.setTimeout(1000);
});

If I issue this request in Postman:

GET localhost:10001

the output is

connection false
connection false
Request

If I issue this request in Postman:

GET 127.0.0.1:10001

the output is

connection false
Request

If I issue either of these two requests with curl:

GET localhost:10001
GET 127.0.0.1:10001

the output is

connection false
Request
apoorvgupta03 commented 1 year ago

Hey folks, is anyone still facing this issue? We've tried reproducing it but couldn't. Please update your Postman app for the latest features and improvements.

jaircuevajunior commented 1 year ago

nope