api get request fails, but post, put, delete work












-1















Environment and Settings:




  • react-native 0.57

  • expressjs for server

  • using axios for api request

  • set timeout 10000ms

  • the request is a json data with username and small other infos

  • http request (not https)




I'm developing a small react native project and now having a trouble with "api GET request".



It's all perfect for POST, PUT, DELETE actions but only the GET request returns timeout error with "BadRequestError: request denied" server log.



The same code on android works just fine, but it only happens on ios.



I've set NSAllowsArbitraryLoads to true and also NSExceptionDomains just in case but neither of them solved the problem.










share|improve this question





























    -1















    Environment and Settings:




    • react-native 0.57

    • expressjs for server

    • using axios for api request

    • set timeout 10000ms

    • the request is a json data with username and small other infos

    • http request (not https)




    I'm developing a small react native project and now having a trouble with "api GET request".



    It's all perfect for POST, PUT, DELETE actions but only the GET request returns timeout error with "BadRequestError: request denied" server log.



    The same code on android works just fine, but it only happens on ios.



    I've set NSAllowsArbitraryLoads to true and also NSExceptionDomains just in case but neither of them solved the problem.










    share|improve this question



























      -1












      -1








      -1








      Environment and Settings:




      • react-native 0.57

      • expressjs for server

      • using axios for api request

      • set timeout 10000ms

      • the request is a json data with username and small other infos

      • http request (not https)




      I'm developing a small react native project and now having a trouble with "api GET request".



      It's all perfect for POST, PUT, DELETE actions but only the GET request returns timeout error with "BadRequestError: request denied" server log.



      The same code on android works just fine, but it only happens on ios.



      I've set NSAllowsArbitraryLoads to true and also NSExceptionDomains just in case but neither of them solved the problem.










      share|improve this question
















      Environment and Settings:




      • react-native 0.57

      • expressjs for server

      • using axios for api request

      • set timeout 10000ms

      • the request is a json data with username and small other infos

      • http request (not https)




      I'm developing a small react native project and now having a trouble with "api GET request".



      It's all perfect for POST, PUT, DELETE actions but only the GET request returns timeout error with "BadRequestError: request denied" server log.



      The same code on android works just fine, but it only happens on ios.



      I've set NSAllowsArbitraryLoads to true and also NSExceptionDomains just in case but neither of them solved the problem.







      ios api express react-native axios






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 23 '18 at 8:55







      user8659363

















      asked Nov 23 '18 at 8:47









      user8659363user8659363

      18615




      18615
























          3 Answers
          3






          active

          oldest

          votes


















          0














          Latest iOS sdk enforces connection to be in https protocol instead of http.



          you can add an exception to your domain inside info.plist file of the Xcode project.



          if you want to allow everything write this inside info.plist



          <key>NSAppTransportSecurity</key>
          <dict>
          <key>NSExceptionDomains</key>
          <dict>
          <key>yourdomain.com</key>
          <dict>
          <!--Include to allow subdomains-->
          <key>NSIncludesSubdomains</key>
          <true/>
          <!--Include to allow HTTP requests-->
          <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
          <true/>
          <!--Include to specify minimum TLS version-->
          <key>NSTemporaryExceptionMinimumTLSVersion</key>
          <string>TLSv1.1</string>
          </dict>
          </dict>
          </dict>





          share|improve this answer
























          • as i mentioned, i tried already, but did not help :(

            – user8659363
            Nov 25 '18 at 8:54



















          0














          Steps:




          1. Open your project in xcode.

          2. Right click on info.plist.

          3. Choose Open As Source code.

          4. Add below code before end of </dict> tag.





          <key>NSAppTransportSecurity</key>
          <dict>
          <key>NSAllowsArbitraryLoads</key>
          <true/>
          </dict>








          share|improve this answer
























          • as i mentioned, i tried already, but did not help :(

            – user8659363
            Nov 25 '18 at 8:54



















          0














          Ok, got a solution.



          It was because of an empty object on body when sending 'GET' request.
          checking if it is empty and making it undefined solved the problem.






          share|improve this answer
























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53443283%2fapi-get-request-fails-but-post-put-delete-work%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            3 Answers
            3






            active

            oldest

            votes








            3 Answers
            3






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            Latest iOS sdk enforces connection to be in https protocol instead of http.



            you can add an exception to your domain inside info.plist file of the Xcode project.



            if you want to allow everything write this inside info.plist



            <key>NSAppTransportSecurity</key>
            <dict>
            <key>NSExceptionDomains</key>
            <dict>
            <key>yourdomain.com</key>
            <dict>
            <!--Include to allow subdomains-->
            <key>NSIncludesSubdomains</key>
            <true/>
            <!--Include to allow HTTP requests-->
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <!--Include to specify minimum TLS version-->
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
            </dict>
            </dict>
            </dict>





            share|improve this answer
























            • as i mentioned, i tried already, but did not help :(

              – user8659363
              Nov 25 '18 at 8:54
















            0














            Latest iOS sdk enforces connection to be in https protocol instead of http.



            you can add an exception to your domain inside info.plist file of the Xcode project.



            if you want to allow everything write this inside info.plist



            <key>NSAppTransportSecurity</key>
            <dict>
            <key>NSExceptionDomains</key>
            <dict>
            <key>yourdomain.com</key>
            <dict>
            <!--Include to allow subdomains-->
            <key>NSIncludesSubdomains</key>
            <true/>
            <!--Include to allow HTTP requests-->
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <!--Include to specify minimum TLS version-->
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
            </dict>
            </dict>
            </dict>





            share|improve this answer
























            • as i mentioned, i tried already, but did not help :(

              – user8659363
              Nov 25 '18 at 8:54














            0












            0








            0







            Latest iOS sdk enforces connection to be in https protocol instead of http.



            you can add an exception to your domain inside info.plist file of the Xcode project.



            if you want to allow everything write this inside info.plist



            <key>NSAppTransportSecurity</key>
            <dict>
            <key>NSExceptionDomains</key>
            <dict>
            <key>yourdomain.com</key>
            <dict>
            <!--Include to allow subdomains-->
            <key>NSIncludesSubdomains</key>
            <true/>
            <!--Include to allow HTTP requests-->
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <!--Include to specify minimum TLS version-->
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
            </dict>
            </dict>
            </dict>





            share|improve this answer













            Latest iOS sdk enforces connection to be in https protocol instead of http.



            you can add an exception to your domain inside info.plist file of the Xcode project.



            if you want to allow everything write this inside info.plist



            <key>NSAppTransportSecurity</key>
            <dict>
            <key>NSExceptionDomains</key>
            <dict>
            <key>yourdomain.com</key>
            <dict>
            <!--Include to allow subdomains-->
            <key>NSIncludesSubdomains</key>
            <true/>
            <!--Include to allow HTTP requests-->
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <!--Include to specify minimum TLS version-->
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
            </dict>
            </dict>
            </dict>






            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Nov 23 '18 at 10:55









            Selmi KarimSelmi Karim

            613313




            613313













            • as i mentioned, i tried already, but did not help :(

              – user8659363
              Nov 25 '18 at 8:54



















            • as i mentioned, i tried already, but did not help :(

              – user8659363
              Nov 25 '18 at 8:54

















            as i mentioned, i tried already, but did not help :(

            – user8659363
            Nov 25 '18 at 8:54





            as i mentioned, i tried already, but did not help :(

            – user8659363
            Nov 25 '18 at 8:54













            0














            Steps:




            1. Open your project in xcode.

            2. Right click on info.plist.

            3. Choose Open As Source code.

            4. Add below code before end of </dict> tag.





            <key>NSAppTransportSecurity</key>
            <dict>
            <key>NSAllowsArbitraryLoads</key>
            <true/>
            </dict>








            share|improve this answer
























            • as i mentioned, i tried already, but did not help :(

              – user8659363
              Nov 25 '18 at 8:54
















            0














            Steps:




            1. Open your project in xcode.

            2. Right click on info.plist.

            3. Choose Open As Source code.

            4. Add below code before end of </dict> tag.





            <key>NSAppTransportSecurity</key>
            <dict>
            <key>NSAllowsArbitraryLoads</key>
            <true/>
            </dict>








            share|improve this answer
























            • as i mentioned, i tried already, but did not help :(

              – user8659363
              Nov 25 '18 at 8:54














            0












            0








            0







            Steps:




            1. Open your project in xcode.

            2. Right click on info.plist.

            3. Choose Open As Source code.

            4. Add below code before end of </dict> tag.





            <key>NSAppTransportSecurity</key>
            <dict>
            <key>NSAllowsArbitraryLoads</key>
            <true/>
            </dict>








            share|improve this answer













            Steps:




            1. Open your project in xcode.

            2. Right click on info.plist.

            3. Choose Open As Source code.

            4. Add below code before end of </dict> tag.





            <key>NSAppTransportSecurity</key>
            <dict>
            <key>NSAllowsArbitraryLoads</key>
            <true/>
            </dict>








            <key>NSAppTransportSecurity</key>
            <dict>
            <key>NSAllowsArbitraryLoads</key>
            <true/>
            </dict>





            <key>NSAppTransportSecurity</key>
            <dict>
            <key>NSAllowsArbitraryLoads</key>
            <true/>
            </dict>






            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Nov 23 '18 at 12:21









            Jaydeep PatelJaydeep Patel

            1198




            1198













            • as i mentioned, i tried already, but did not help :(

              – user8659363
              Nov 25 '18 at 8:54



















            • as i mentioned, i tried already, but did not help :(

              – user8659363
              Nov 25 '18 at 8:54

















            as i mentioned, i tried already, but did not help :(

            – user8659363
            Nov 25 '18 at 8:54





            as i mentioned, i tried already, but did not help :(

            – user8659363
            Nov 25 '18 at 8:54











            0














            Ok, got a solution.



            It was because of an empty object on body when sending 'GET' request.
            checking if it is empty and making it undefined solved the problem.






            share|improve this answer




























              0














              Ok, got a solution.



              It was because of an empty object on body when sending 'GET' request.
              checking if it is empty and making it undefined solved the problem.






              share|improve this answer


























                0












                0








                0







                Ok, got a solution.



                It was because of an empty object on body when sending 'GET' request.
                checking if it is empty and making it undefined solved the problem.






                share|improve this answer













                Ok, got a solution.



                It was because of an empty object on body when sending 'GET' request.
                checking if it is empty and making it undefined solved the problem.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 25 '18 at 9:55









                user8659363user8659363

                18615




                18615






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53443283%2fapi-get-request-fails-but-post-put-delete-work%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

                    Alcedinidae

                    Origin of the phrase “under your belt”?