From 3657ddf4ae3d40044b2e741b0963cd38e0b4aa96 Mon Sep 17 00:00:00 2001 From: Peter Hoppe Date: Mon, 19 Dec 2022 22:07:54 +0100 Subject: [PATCH] localhost geht hop-fly nicht --- docs/m7MdMK | 1 + docs/threema-20221219-154859460.jpg | Bin 0 -> 77675 bytes package.json | 10 ++- php/php-dog/classes/ranStr.php | 26 +++++++ php/php-dog/getDog.php | 23 +++--- php/php-dog/login.php | 2 +- src/.htaccess | 4 + src/App.tsx | 1 + src/components/Dog.tsx | 48 ++++++++++-- src/components/DogNameTxt.tsx | 13 ++++ src/components/Img.tsx | 10 +++ src/components/Pic.tsx | 9 +++ src/components/Register.tsx | 4 +- src/context/UserContext.tsx | 60 +++++++++++++- src/context/aa.html | 1 + src/context/aaa.json | 117 ++++++++++++++++++++++++++++ 16 files changed, 301 insertions(+), 28 deletions(-) create mode 100644 docs/m7MdMK create mode 100644 docs/threema-20221219-154859460.jpg create mode 100644 php/php-dog/classes/ranStr.php create mode 100644 src/.htaccess create mode 100644 src/components/DogNameTxt.tsx create mode 100644 src/components/Img.tsx create mode 100644 src/components/Pic.tsx create mode 100644 src/context/aa.html create mode 100644 src/context/aaa.json diff --git a/docs/m7MdMK b/docs/m7MdMK new file mode 100644 index 0000000..46aec41 --- /dev/null +++ b/docs/m7MdMK @@ -0,0 +1 @@ +m7MdMK \ No newline at end of file diff --git a/docs/threema-20221219-154859460.jpg b/docs/threema-20221219-154859460.jpg new file mode 100644 index 0000000000000000000000000000000000000000..defe168756f3f81562b42c5549d248d624437a5d GIT binary patch literal 77675 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 ath|P3lVq?Nb`)G|aI1yeZmlDANB`NXJL@n2 literal 0 HcmV?d00001 diff --git a/package.json b/package.json index a945972..029e337 100644 --- a/package.json +++ b/package.json @@ -22,8 +22,10 @@ "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", - "eject": "react-scripts eject" - }, + "eject": "react-scripts eject", + + "postbuild": "cp ./src/.htaccess ./build/ && sudo cp -r -v ./build/static/ /opt/lampp/htdocs/dog/ && sudo cp -v ./build/* /opt/lampp/htdocs/dog/" +}, "eslintConfig": { "extends": [ "react-app", @@ -43,6 +45,6 @@ ] }, "xxxhomepage____": "http://localhost:3000/dog", - "xxxxhomepage": "https://hope-fly.de/dog", - "homepage": "http://localhost/dog" + "homepage": "https://hope-fly.de/dog", + "xxxxhomepage": "http://localhost/dog" } diff --git a/php/php-dog/classes/ranStr.php b/php/php-dog/classes/ranStr.php new file mode 100644 index 0000000..4f02dae --- /dev/null +++ b/php/php-dog/classes/ranStr.php @@ -0,0 +1,26 @@ + diff --git a/php/php-dog/getDog.php b/php/php-dog/getDog.php index f3e132c..73aadfd 100644 --- a/php/php-dog/getDog.php +++ b/php/php-dog/getDog.php @@ -15,20 +15,21 @@ $db_connection = new Database(); $conn = $db_connection->dbConnection(); $data = json_decode(file_get_contents("php://input")); -// $data = json_decode('{ "qr_id": "m7MdMK" }'); +//$data = json_decode('{ "qr_id": "m7MdMK" }'); +var_dump( get_defined_vars() ); + +var_dump( get_defined_vars() ); +echo "xxxxxxx"; +echo $data; +echo "-------"; $returnData = new CMsg(0); $fields = ['fields' => ['qr_id']]; // if(true) -// IF REQUEST METHOD IS NOT EQUAL TO POST -if($_SERVER["REQUEST_METHOD"] != "POST") -{ - $returnData = msg(0,404,'Page Not Found!',$fields,null); -} // CHECKING EMPTY FIELDS -elseif(!isset($data->qr_id) +if(!isset($data->qr_id) || empty(trim($data->qr_id)) ) { @@ -42,8 +43,8 @@ else try { - $fetch_user_by_email = "SELECT * FROM `dogs` WHERE `qr_id`=:qr_id"; - $query_stmt = $conn->prepare($fetch_user_by_email); + $fetch_user_qr_id = "SELECT id, qr_id, email, name, phone, qr_code, picture FROM `dogs` WHERE `qr_id`=:qr_id"; + $query_stmt = $conn->prepare($fetch_user_qr_id); $query_stmt->bindValue(':qr_id', $qr_id,PDO::PARAM_STR); $query_stmt->execute(); @@ -53,6 +54,10 @@ else $row = $query_stmt->fetch(PDO::FETCH_ASSOC); $returnData = new CMsg(1,200,'get dog',$fields,$row); } + else + { + $returnData = new CMsg(0,422,'no dog',$fields); + } } catch(PDOException $e) { diff --git a/php/php-dog/login.php b/php/php-dog/login.php index d92e729..b9779e5 100644 --- a/php/php-dog/login.php +++ b/php/php-dog/login.php @@ -108,7 +108,7 @@ try } else { - $returnData = new CMsg(0,422,'Invalid Email Address!'); + $returnData = new CMsg(0,422,'Invalid Email Address! No Email found!'); } } catch(PDOException $e) diff --git a/src/.htaccess b/src/.htaccess new file mode 100644 index 0000000..1cccaa1 --- /dev/null +++ b/src/.htaccess @@ -0,0 +1,4 @@ +Options -MultiViews + RewriteEngine On + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.html [QSA,L] \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index ab71f31..61a8d69 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -19,6 +19,7 @@ function App()
+ } /> } /> } /> } /> diff --git a/src/components/Dog.tsx b/src/components/Dog.tsx index c5d18de..4585cdd 100644 --- a/src/components/Dog.tsx +++ b/src/components/Dog.tsx @@ -1,15 +1,47 @@ -import React from 'react' -import { useParams, useSearchParams } from "react-router-dom"; +import { ResponseT, UserCtx, UserCtxT } from '../context/UserContext'; +import React, { useContext, useState } from 'react' +import { useParams } from "react-router-dom"; +import Img from './Img'; +import DogNameTxt from './DogNameTxt'; -export default function Dog() +const Dog = () => { + const {getDog, dog} = useContext(UserCtx) as UserCtxT; + + // m7MdMK const params = useParams(); - const searchParams = useSearchParams(); + const qr_id = Object.values(params)[0]; + var data; + var needData = dog.success === undefined; + if(needData) + { + data = getDog(qr_id); // await not allowed?! => workaraound + } + var email = "nicht definiert;" + var phone = "nicht definiert;" + var picPath = "nicht definiert;" + var qrPath = "nicht definiert;" + var name = "nicht definiert;" + if(dog.success === 1) + { + name = dog.data.name; + qrPath = dog.data.qr_code; + picPath = dog.data.picture; + email = dog.data.email; + phone = dog.data.phone; + } + return (
-

Dog

-

{Object.keys(params)[0]}: {Object.values(params)[0]}

-

{Object.keys(params)[1]}: {Object.values(params)[1]}

+

Hast Du mich gefunden?

+ {/*

name: {name}

+

email: {email}

+

phone: {phone}

+

pic: {picPath}

+

qr: {qrPath}

*/} + +
) -} \ No newline at end of file +} +export default Dog; \ No newline at end of file diff --git a/src/components/DogNameTxt.tsx b/src/components/DogNameTxt.tsx new file mode 100644 index 0000000..b50fdd2 --- /dev/null +++ b/src/components/DogNameTxt.tsx @@ -0,0 +1,13 @@ +import React from 'react' + +export default function DogNameTxt( + {name, email, phone}: + {name: string, email: string, phone: string}) { + return ( +
+

Hallo ich bin die

{name}!

+

bitte schreib eine Mail an

{email}

+ oder ruf

{phone} an,

damit ich schnell wieder Heim komme.

+
+ ) +} diff --git a/src/components/Img.tsx b/src/components/Img.tsx new file mode 100644 index 0000000..8b2b2c0 --- /dev/null +++ b/src/components/Img.tsx @@ -0,0 +1,10 @@ +import React from 'react' + +export default function Img({pth}: {pth: string}) +{ + return ( +
+ +
+ ) +} diff --git a/src/components/Pic.tsx b/src/components/Pic.tsx new file mode 100644 index 0000000..5e384c5 --- /dev/null +++ b/src/components/Pic.tsx @@ -0,0 +1,9 @@ +import React from 'react' + +export default function Pic() { + return ( +
+ +
+ ) +} diff --git a/src/components/Register.tsx b/src/components/Register.tsx index b1fd162..cdfc8be 100644 --- a/src/components/Register.tsx +++ b/src/components/Register.tsx @@ -19,7 +19,8 @@ const Register = () => { }) } - const submitForm = async (e: React.FormEvent) => { + const submitForm = async (e: React.FormEvent) => + { e.preventDefault(); if(!Object.values(formData).every(val => val.trim() !== '')){ @@ -38,7 +39,6 @@ const Register = () => { setSuccessMsg("false"); setErrMsg(data.message); } - } return ( diff --git a/src/context/UserContext.tsx b/src/context/UserContext.tsx index 29b59c0..b0cffb9 100644 --- a/src/context/UserContext.tsx +++ b/src/context/UserContext.tsx @@ -15,6 +15,28 @@ export type TUser = name: string } +export type DogT = +{ + id: number, + qr_id: string, + email: string, + name: string, + phone: string, + qr_code: string, + picture: string +}; + +export type ResponseT = +{ + success: number, + status: number, + message: string, + fields: string, + data: DogT +} | any; + + + export type UserCtxT = { user: TUser | null, @@ -42,20 +64,25 @@ export type UserCtxT = getUser: () => Promise, - logout: () => void + logout: () => void, + + getDog: (str: string | undefined) => Promise, + + dog: ResponseT } export const UserCtx = createContext(null); export const Axios = axios.create({ -// baseURL: 'http://localhost/dog/php-dog/', - baseURL: 'https://hope-fly.de/dog/php-dog/', + baseURL: 'http://localhost/dog/php-dog/', + // baseURL: 'https://hope-fly.de/dog/php-dog/', }); export const UserCtxProvider = ({children}:TUserContextProviderProps) => { const [user, setUser] = useState(null); const [wait, setWait] = useState(false); + const [dog, setDog] = useState({}); const registerUser = async ({email,password}: {email: string, password: string}) => { @@ -154,6 +181,29 @@ export const UserCtxProvider = ({children}:TUserContextProviderProps) => { setUser(null); } + const getDog = async ( str: string | undefined) => + { + var ret: ResponseT = {}; + setWait(true); + + try + { + ret = await Axios.post('getDog.php', + { + qr_id: str + }); + setDog(ret.data as ResponseT); + setWait(false); + return; + } + catch (error:any) + { + console.log('error message: ', error.message); + setWait(false); + return; + } + }; + return ( { wait, user, getUser, - logout + logout, + getDog, + dog }} > {children} diff --git a/src/context/aa.html b/src/context/aa.html new file mode 100644 index 0000000..e754d45 --- /dev/null +++ b/src/context/aa.html @@ -0,0 +1 @@ +
\n/opt/lampp/htdocs/dog/php-dog/getDog.php:19:\narray (size=11)\n  '_GET' => \n    array (size=0)\n      empty\n  '_POST' => \n    array (size=0)\n      empty\n  '_COOKIE' => \n    array (size=0)\n      empty\n  '_FILES' => \n    array (size=0)\n      empty\n  '_ENV' => \n    array (size=0)\n      empty\n  '_REQUEST' => \n    array (size=0)\n      empty\n  '_SERVER' => \n    array (size=41)\n      'UNIQUE_ID' => string 'Y6C9BuTmzZ42bjnn8ahTGQAAAAg' (length=27)\n      'HTTP_HOST' => string 'localhost' (length=9)\n      'HTTP_CONNECTION' => string 'keep-alive' (length=10)\n      'CONTENT_LENGTH' => string '18' (length=2)\n      'HTTP_SEC_CH_UA' => string '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"' (length=64)\n      'HTTP_ACCEPT' => string 'application/json, text/plain, */*' (length=33)\n      'CONTENT_TYPE' => string 'application/json' (length=16)\n      'HTTP_SEC_CH_UA_MOBILE' => string '?0' (length=2)\n      'HTTP_USER_AGENT' => string 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36' (length=101)\n      'HTTP_SEC_CH_UA_PLATFORM' => string '"Linux"' (length=7)\n      'HTTP_ORIGIN' => string 'http://localhost:3000' (length=21)\n      'HTTP_SEC_FETCH_SITE' => string 'same-site' (length=9)\n      'HTTP_SEC_FETCH_MODE' => string 'cors' (length=4)\n      'HTTP_SEC_FETCH_DEST' => string 'empty' (length=5)\n      'HTTP_REFERER' => string 'http://localhost:3000/' (length=22)\n      'HTTP_ACCEPT_ENCODING' => string 'gzip, deflate, br' (length=17)\n      'HTTP_ACCEPT_LANGUAGE' => string 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7' (length=35)\n      'PATH' => string '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin' (length=70)\n      'LD_LIBRARY_PATH' => string '/opt/lampp/lib:/opt/lampp/lib' (length=29)\n      'SERVER_SIGNATURE' => string '' (length=0)\n      'SERVER_SOFTWARE' => string 'Apache/2.4.54 (Unix) OpenSSL/1.1.1s PHP/8.1.12 mod_perl/2.0.12 Perl/v5.34.1' (length=75)\n      'SERVER_NAME' => string 'localhost' (length=9)\n      'SERVER_ADDR' => string '::1' (length=3)\n      'SERVER_PORT' => string '80' (length=2)\n      'REMOTE_ADDR' => string '::1' (length=3)\n      'DOCUMENT_ROOT' => string '/opt/lampp/htdocs' (length=17)\n      'REQUEST_SCHEME' => string 'http' (length=4)\n      'CONTEXT_PREFIX' => string '' (length=0)\n      'CONTEXT_DOCUMENT_ROOT' => string '/opt/lampp/htdocs' (length=17)\n      'SERVER_ADMIN' => string 'you@example.com' (length=15)\n      'SCRIPT_FILENAME' => string '/opt/lampp/htdocs/dog/php-dog/getDog.php' (length=40)\n      'REMOTE_PORT' => string '52696' (length=5)\n      'GATEWAY_INTERFACE' => string 'CGI/1.1' (length=7)\n      'SERVER_PROTOCOL' => string 'HTTP/1.1' (length=8)\n      'REQUEST_METHOD' => string 'POST' (length=4)\n      'QUERY_STRING' => string '' (length=0)\n      'REQUEST_URI' => string '/dog/php-dog/getDog.php' (length=23)\n      'SCRIPT_NAME' => string '/dog/php-dog/getDog.php' (length=23)\n      'PHP_SELF' => string '/dog/php-dog/getDog.php' (length=23)\n      'REQUEST_TIME_FLOAT' => float 1671478534.0123\n      'REQUEST_TIME' => int 1671478534\n  'db_connection' => \n    object(Database)[1]\n      private 'db_host' => string 'localhost' (length=9)\n      private 'db_name' => string 'k200835_dog' (length=11)\n      private 'db_username' => string 'k200835_user_dog' (length=16)\n      private 'db_password' => string 'X0pEiBsXN3RLazGhQVvP' (length=20)\n  'conn' => \n    object(PDO)[2]\n  'data' => \n    object(stdClass)[3]\n      public 'qr_id' => string 'm7MdMK' (length=6)\n  '_SESSION' => \n    array (size=0)\n      empty\n
\n/opt/lampp/htdocs/dog/php-dog/getDog.php:21:\narray (size=11)\n  '_GET' => \n    array (size=0)\n      empty\n  '_POST' => \n    array (size=0)\n      empty\n  '_COOKIE' => \n    array (size=0)\n      empty\n  '_FILES' => \n    array (size=0)\n      empty\n  '_ENV' => \n    array (size=0)\n      empty\n  '_REQUEST' => \n    array (size=0)\n      empty\n  '_SERVER' => \n    array (size=41)\n      'UNIQUE_ID' => string 'Y6C9BuTmzZ42bjnn8ahTGQAAAAg' (length=27)\n      'HTTP_HOST' => string 'localhost' (length=9)\n      'HTTP_CONNECTION' => string 'keep-alive' (length=10)\n      'CONTENT_LENGTH' => string '18' (length=2)\n      'HTTP_SEC_CH_UA' => string '"Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"' (length=64)\n      'HTTP_ACCEPT' => string 'application/json, text/plain, */*' (length=33)\n      'CONTENT_TYPE' => string 'application/json' (length=16)\n      'HTTP_SEC_CH_UA_MOBILE' => string '?0' (length=2)\n      'HTTP_USER_AGENT' => string 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36' (length=101)\n      'HTTP_SEC_CH_UA_PLATFORM' => string '"Linux"' (length=7)\n      'HTTP_ORIGIN' => string 'http://localhost:3000' (length=21)\n      'HTTP_SEC_FETCH_SITE' => string 'same-site' (length=9)\n      'HTTP_SEC_FETCH_MODE' => string 'cors' (length=4)\n      'HTTP_SEC_FETCH_DEST' => string 'empty' (length=5)\n      'HTTP_REFERER' => string 'http://localhost:3000/' (length=22)\n      'HTTP_ACCEPT_ENCODING' => string 'gzip, deflate, br' (length=17)\n      'HTTP_ACCEPT_LANGUAGE' => string 'de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7' (length=35)\n      'PATH' => string '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin' (length=70)\n      'LD_LIBRARY_PATH' => string '/opt/lampp/lib:/opt/lampp/lib' (length=29)\n      'SERVER_SIGNATURE' => string '' (length=0)\n      'SERVER_SOFTWARE' => string 'Apache/2.4.54 (Unix) OpenSSL/1.1.1s PHP/8.1.12 mod_perl/2.0.12 Perl/v5.34.1' (length=75)\n      'SERVER_NAME' => string 'localhost' (length=9)\n      'SERVER_ADDR' => string '::1' (length=3)\n      'SERVER_PORT' => string '80' (length=2)\n      'REMOTE_ADDR' => string '::1' (length=3)\n      'DOCUMENT_ROOT' => string '/opt/lampp/htdocs' (length=17)\n      'REQUEST_SCHEME' => string 'http' (length=4)\n      'CONTEXT_PREFIX' => string '' (length=0)\n      'CONTEXT_DOCUMENT_ROOT' => string '/opt/lampp/htdocs' (length=17)\n      'SERVER_ADMIN' => string 'you@example.com' (length=15)\n      'SCRIPT_FILENAME' => string '/opt/lampp/htdocs/dog/php-dog/getDog.php' (length=40)\n      'REMOTE_PORT' => string '52696' (length=5)\n      'GATEWAY_INTERFACE' => string 'CGI/1.1' (length=7)\n      'SERVER_PROTOCOL' => string 'HTTP/1.1' (length=8)\n      'REQUEST_METHOD' => string 'POST' (length=4)\n      'QUERY_STRING' => string '' (length=0)\n      'REQUEST_URI' => string '/dog/php-dog/getDog.php' (length=23)\n      'SCRIPT_NAME' => string '/dog/php-dog/getDog.php' (length=23)\n      'PHP_SELF' => string '/dog/php-dog/getDog.php' (length=23)\n      'REQUEST_TIME_FLOAT' => float 1671478534.0123\n      'REQUEST_TIME' => int 1671478534\n  'db_connection' => \n    object(Database)[1]\n      private 'db_host' => string 'localhost' (length=9)\n      private 'db_name' => string 'k200835_dog' (length=11)\n      private 'db_username' => string 'k200835_user_dog' (length=16)\n      private 'db_password' => string 'X0pEiBsXN3RLazGhQVvP' (length=20)\n  'conn' => \n    object(PDO)[2]\n  'data' => \n    object(stdClass)[3]\n      public 'qr_id' => string 'm7MdMK' (length=6)\n  '_SESSION' => \n    array (size=0)\n      empty\n
xxxxxxx \ No newline at end of file diff --git a/src/context/aaa.json b/src/context/aaa.json new file mode 100644 index 0000000..2907c88 --- /dev/null +++ b/src/context/aaa.json @@ -0,0 +1,117 @@ + { + data: { + success: 0, + status: 422, + message: "Invalid Email Address!", + fields: "Invalid Email Address!", + data: null, + }, + status: 200, + statusText: "OK", + headers: { + "cache-control": "no-store, no-cache, must-revalidate", + "content-length": "107", + "content-type": "application/json; charset=UTF-8", + expires: "Thu, 19 Nov 1981 08:52:00 GMT", + pragma: "no-cache", + }, + config: { + transitional: { + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false, + }, + adapter: [ + "xhr", + "http", + ], + transformRequest: [ + function transformRequest(data, headers) { + const contentType = headers.getContentType() || ''; + const hasJSONContentType = contentType.indexOf('application/json') > -1; + const isObjectPayload = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isObject(data); + if (isObjectPayload && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isHTMLForm(data)) { + data = new FormData(data); + } + const isFormData = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFormData(data); + if (isFormData) { + if (!hasJSONContentType) { + return data; + } + return hasJSONContentType ? JSON.stringify((0,_helpers_formDataToJSON_js__WEBPACK_IMPORTED_MODULE_2__["default"])(data)) : data; + } + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBuffer(data) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBuffer(data) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isStream(data) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFile(data) || _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isBlob(data)) { + return data; + } + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isArrayBufferView(data)) { + return data.buffer; + } + if (_utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isURLSearchParams(data)) { + headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); + return data.toString(); + } + let isFileList; + if (isObjectPayload) { + if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { + return (0,_helpers_toURLEncodedForm_js__WEBPACK_IMPORTED_MODULE_3__["default"])(data, this.formSerializer).toString(); + } + if ((isFileList = _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { + const _FormData = this.env && this.env.FormData; + return (0,_helpers_toFormData_js__WEBPACK_IMPORTED_MODULE_4__["default"])(isFileList ? { + 'files[]': data + } : data, _FormData && new _FormData(), this.formSerializer); + } + } + if (isObjectPayload || hasJSONContentType) { + headers.setContentType('application/json', false); + return stringifySafely(data); + } + return data; + }, + ], + transformResponse: [ + function transformResponse(data) { + const transitional = this.transitional || defaults.transitional; + const forcedJSONParsing = transitional && transitional.forcedJSONParsing; + const JSONRequested = this.responseType === 'json'; + if (data && _utils_js__WEBPACK_IMPORTED_MODULE_0__["default"].isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) { + const silentJSONParsing = transitional && transitional.silentJSONParsing; + const strictJSONParsing = !silentJSONParsing && JSONRequested; + try { + return JSON.parse(data); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__["default"].from(e, _core_AxiosError_js__WEBPACK_IMPORTED_MODULE_5__["default"].ERR_BAD_RESPONSE, this, null, this.response); + } + throw e; + } + } + } + return data; + }, + ], + timeout: 0, + xsrfCookieName: "XSRF-TOKEN", + xsrfHeaderName: "X-XSRF-TOKEN", + maxContentLength: -1, + maxBodyLength: -1, + env: { + FormData: function FormData() { [native code] }, + Blob: function Blob() { [native code] }, + }, + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + }, + headers: { + Accept: "application/json, text/plain, */*", + "Content-Type": "application/json", + }, + baseURL: "http://localhost/dog/php-dog/", + method: "post", + url: "login.php", + data: "{\"email\":\"conny.rankl@web.de\",\"password\":\"mellyHund\"}", + }, + request: { + }, + } \ No newline at end of file