Apollo-link-rest: 404 рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рд░рдгрдиреАрддрд┐?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рдЬреВрди 2018  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: apollographql/apollo-link-rest


рдПрдХ рдЖрд░рдИрдПрд╕рдЯреА рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 404 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрдо рд╣реИ рдХрд┐ рдХреЛрдИ рд░рд┐рдХреЙрд░реНрдб рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдЕрднреА рдЬрдм рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдкрд░рд┐рдгрд╛рдо networkError рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЕрдкреЛрд▓реЛ рд╕реНрдЯреИрдХ рджреНрд╡рд╛рд░рд╛ рдЧреНрд░рд╛рдлрд╝рдХреЙрд▓ рддреНрд░реБрдЯрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд╡реЗрд░реА рдХреЗ рд╕рд╛рде:

query BookQuery($slug: ID!) {
  book(slug: $slug) @rest(type: "Book", path: "book/:slug") {
    name
    author
  }
}

рдпрджрд┐ рдПрдВрдбрдкреЙрдЗрдВрдЯ рекрежрек рд▓реМрдЯрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд╣рд╛рдВ рдЗрд░рд╛рджрд╛ рдХреЗрд╡рд▓ error рд░реЗрдВрдбрд░ рдкреНрд░реЛрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЧреИрд░-рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА рдЕрдЧрд░ рдпрд╣ REST рдХреЗ рдмрдЬрд╛рдп рдПрдХ GraphQL рдХреНрд╡реЗрд░реА рдереА рддреЛ рдЗрд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдЧреАрдХреГрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдПрдЧрд╛ред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдХрд╕реНрдЯрдо error-link рдПрдХ рдЪреЗрдХ рдЬреЛрдбрд╝рдирд╛ рдерд╛ рдЬреЛ 404 рдиреЗрдЯрд╡рд░реНрдХ рддреНрд░реБрдЯрд┐ рдХреЛ GraphQL рддреНрд░реБрдЯрд┐ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ:

forward(operation).subscribe({
  next: result => {...},
  error: networkError => {
    if (networkError.statusCode === 404) {
      return observer.next({errors: [networkError]});
    }
    //...
    observer.error(networkError);
  },
  complete: observer.complete.bind(observer),
});

рдЗрд╕рдореЗрдВ рдЕрднреА рднреА рд╕реБрдзрд╛рд░ рдХреА рдЧреБрдВрдЬрд╛рдЗрд╢ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ рдХрд┐рд╕реА рддрд░рд╣ apollo-link-rest рдореЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдореИрдВ рдмрд╛рддрдЪреАрдд рд╢реБрд░реВ рдХрд░реВрдВрдЧрд╛ред

enhancementЁЯТб questionтЭФ

рд╕рднреА 12 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рд╡рд╛рд▓ рд╣реИред - рдореИрдВ рдЗрд╕ рдкреИрдЯрд░реНрди рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╡рд░реНрдЧ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдХрдИ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ рдкреАрдбрд╝рд┐рдд рд╣реИрдВ (рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд╕реНрдЯреЗрдЯ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддрд╛ рд╣реИ)ред

рдореИрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рд╣рдореЗрдВ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкреЛрд▓реЛрд▓рд┐рдВрдХ рдХреЗ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЙрддреНрддрд░ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐?

рдЗрд╕ рд╕рдордп рд╕рднреА http рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

        if (res.status >= 300) {
          // Throw a JSError, that will be available under the
          // "Network error" category in apollo-link-error
          let parsed: any;
          try {
            parsed = await res.json();
          } catch (error) {
            // its not json
            parsed = await res.text();
          }
          rethrowServerSideError(
            res,
            parsed,
            `Response not successful: Received status code ${res.status}`,
          );
        }
        return res;

рд╢рд╛рдпрдж рд╣рдо рдПрдХ рдХреЗрд╕ рдорд┐рд▓рд╛рди рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐ рдХреИрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ?
404 == null рдЬреИрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ

рдЬрдмрдХрд┐ рдореИрдВ @fbartho рдХреА рдЪрд┐рдВрддрд╛ рд╕рд╛рдЭрд╛ рдХрд░рддрд╛

query postAndTags {
  post @rest(type: "Post", path: "/post/1") {
    id
    title
  }
  tags @rest(type: "[Tag]", path: "/tags") {
    name
  }
}

рдФрд░ post рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдФрд░ 404 рд▓реМрдЯрд╛рддрд╛ рд╣реИ рддреЛ рдкреВрд░реА рдХреНрд╡реЗрд░реА рдиреЗрдЯрд╡рд░реНрдХ рддреНрд░реБрдЯрд┐ рдкрд░ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдВрднрд╡рддрдГ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

const data = {
  post: null,
  tags: [{ name: 'apollo' }, { name: 'graphql' }],
}

рдЕрдЧрд░ рд╣рдо рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ @paulpdaniels рдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрддрд┐рд░рд┐рдХреНрдд рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди рдЬреЛрдбрд╝рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред 4xx рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ 404 рдФрд░ 400/412/422 (рдореНрдпреВрдЯреЗрд╢рди рдкрд░) рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ, рд╕рдВрднрд╡рддрдГ рдЧреИрд░-рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдЪрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╛ рддреЛ рдЧреНрд░рд╛рдлрд╝рдХреНрдпреВрдПрд▓ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдпрд╛ рдкрд░рд┐рдгрд╛рдо рдХреЛ null ред

рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВрдбрд▓рд░ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИ рдпрд╛ рдпрджрд┐ рдЗрд╕реЗ error-link рдпрд╛ рдЖрд╡реЗрджрди рдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЪреВрдВрдХрд┐ рдПрдХрд╛рдзрд┐рдХ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ?) рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рд╢реЙрд░реНрдЯ рдЖ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд▓рдЧрддрд╛ рд╣реИ рд╡рд╣ 404 рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдКрдкрд░ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛ред

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рднреА рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ error-link рд╕реЗ рджреВрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣рд╛рдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдпрд╣ рдЗрд╕ рд▓рд┐рдВрдХ рдХреЗ рдПрдкреАрдЖрдИ рдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рднреА рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред

@marnusw рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИред рдореИрдВ рдПрдХ рд╕реБрдзрд╛рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдЖрдкрдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ!

142 404 рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЪрд░реНрдЪрд╛ рд╕реЗ рдпрд╣ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рд╣реИред

рдХрдИ рдмрд╛рдХреА рдПрдкреАрдЖрдИ рдорд╛рдирдХреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕рднреА рддреНрд░реБрдЯрд┐ рдХреЛрдб рдореЗрдВ рд╣рдореЗрд╢рд╛ рдПрдХ рдорд╛рдирд╡-рдкрдардиреАрдп рд╕рдВрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрд╕ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд░рджреНрдж рдХрд░рдирд╛, рдЬреИрд╕рд╛ рдХрд┐ #142 рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЙрд╕рдХреЗ рд╕реАрдзреЗ рд╡рд┐рд░реЛрдз рдореЗрдВ рд╣реИред

рдореИрдВрдиреЗ рекрежрек рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдиреЗрдЯрд╡рд░реНрдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдмрд╣рд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рд░рдЦрд╛ рд╣реИ, рдЕрдЪреНрдЫреЗ рдЖрд░рдИрдПрд╕рдЯреА рдПрдкреАрдЖрдИ рдкреНрд░рдерд╛рдУрдВ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП: https://github.com/apollographql/apolo-link-rest/pull/283

@christrude рдЬрдмрдХрд┐ рдореИрдВ null , рддреЛ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рд░реАрд╕реНрдЯрдлреБрд▓ 404 рд╕рдореНрдореЗрд▓рди рдХреЛ рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ null рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@christrude рдЬрдмрдХрд┐ рдореИрдВ null , рддреЛ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рд░реАрд╕реНрдЯрдлреБрд▓ 404 рд╕рдореНрдореЗрд▓рди рдХреЛ рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ null рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдлрд┐рд░ рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдЖрдкрдХреЛ рдпреВрдЖрдИ рдореЗрдВ 404 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреИрд╕реЗ рджреЗрддрд╛ рд╣реИ? рдХреБрдЫ рдордд рдХрд░реЛ? рддреЛ рдЕрдиреБрд░реЛрдз рдмрд╕ рдЪреБрдкрдЪрд╛рдк рдорд░ рдЬрд╛рддреЗ рд╣реИрдВ? рдпрд╣ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЦрд░рд╛рдм/рдЦрд░рд╛рдм рдпреВрдПрдХреНрд╕/рдПрдкреАрдЖрдИ рдкреНрд░рдмрдВрдзрди рд╣реИред

рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЖрдЗрдЯрдо рдХреЛ рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рдХреНрд╡реЗрд░реА рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡рд╛рдкрд╕ рд╢реВрдиреНрдп рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпреВрдЖрдИ рдореЗрдВ рддрджрдиреБрд╕рд╛рд░ рдЗрд╕реЗ рд╕рдВрднрд╛рд▓ рд▓реЗрдВред рдпрджрд┐ рдЗрд╕рдореЗрдВ рдбреЗрдЯрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред

рдореИрдВ рдпрд╣рд╛рдВ @marnusw рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ, рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдмрд╛рдХреА рдПрдкреАрдЖрдИ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдореЗрдВ рдЕрддреНрдпрдзрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред 404 => рдирд▓ рдореИрдкрд┐рдВрдЧ рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд╣рдЬ рдЬреНрдЮрд╛рди рдпреБрдХреНрдд рдЕрд░реНрде рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд▓рд╛рдкрддрд╛ рдбреЗрдЯрд╛ рдкрд░ рдЙрдбрд╝рд╛рдП рдмрд┐рдирд╛ рдЖрд░рдИрдПрд╕рдЯреА рдХреЗ рдПрдХрд▓ рд╕рдВрд╕рд╛рдзрди рдкреНрд░рддрд┐ рдЕрдиреБрд░реЛрдз рдореЙрдбрд▓ рд╕реЗ рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдХреЗ рдмрд╣реБ-рд╕рдВрд╕рд╛рдзрди рдкреНрд░рддрд┐ рдЕрдиреБрд░реЛрдз (рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рд╕реЗ) рдореЗрдВ рдЬрд╛рдиреЗ рджреЗрддрд╛ рд╣реИред

рд╢рд╛рдпрдж рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдСрдкреНрдЯ-рдЖрдЙрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рдХрд╛ рдкреВрд░реНрд╡-рдкреИрдХ рд╕рдВрд╕реНрдХрд░рдг рдпрд╛ рдЕрдиреБрд░реЛрдз рдкреНрд░рдмрдВрдзрди рддрд░реНрдХ рдХрд╛ рдПрдХ рдЕрдореВрд░реНрдд рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ http рд╕реНрдерд┐рддрд┐ рдкреНрд░рдмрдВрдзрди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИред

рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдо рд╕рджрд╕реНрдпрддрд╛ рдореЗрдВ рдиреАрдЪреЗ рдЖрдкрдХреЛ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдПрдХ рд╢реВрдиреНрдп рдкрд░рд┐рдгрд╛рдо рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ 404 рд╣реИ, рдпрд╛ рдпрджрд┐ рдпрд╣ рдХреЛрдИ рд╕рд╛рдордЧреНрд░реА рдирд╣реАрдВ рд╣реИ рддреЛ 201 рдпрд╛ рдХреБрдЫ рд╕рдорд╛рди рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рд╣реИ, рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдорд╛рдирддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд░реНрд╡рд░ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛, рдЦрд╛рд╕рдХрд░ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдПрдХ рдСрде рдЯреЛрдХрди рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдлрд╝реЗрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ , рдФрд░ рдЕрдкреЛрд▓реЛ рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рдПрдХ рдорд╛рдорд▓реЗ рд╕реЗ рдЕрд▓рдЧ, рдРрдк рдореЗрдВ рдЕрдиреНрдп 404 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд░рд╛рдм рдХрдВрдмрд▓ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

i-Hun picture i-Hun  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MichelDiz picture MichelDiz  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

blatoo picture blatoo  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dphaener picture dphaener  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

joemphilips picture joemphilips  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ