LINUX.ORG.RU

Сообщения kote

 

Как поставить transmission на wd my cloud?

Форум — Admin

Пробую поставить transmission на wd my cloud по этой статье: https://xakep.ru/2014/02/04/61993/ Вылетает такая штука:

WDMyCloud:/etc/apt# apt-get install -t sid transmission-cli transmission-common transmission-daemon
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Возможно, для исправления этих ошибок вы захотите воспользоваться «apt-get -f install»:
Пакеты, имеющие неудовлетворённые зависимости:
 libstdc++6 : Зависит: gcc-4.7-base (= 4.7.2-5) но он не может быть установлен
 transmission-cli : Зависит: libcurl3-gnutls (>= 7.18.0) но он не будет установлен
                    Зависит: libminiupnpc10 (>= 1.9.20140610) но он не будет установлен
                    Зависит: libnatpmp1 но он не будет установлен
 transmission-daemon : Зависит: init-system-helpers (>= 1.18~) но он не будет установлен
                       Зависит: libcurl3-gnutls (>= 7.18.0) но он не будет установлен
                       Зависит: libminiupnpc10 (>= 1.9.20140610) но он не будет установлен
                       Зависит: libnatpmp1 но он не будет установлен
                       Зависит: libsystemd0 но он не будет установлен
E: Неудовлетворённые зависимости. Попытайтесь выполнить «apt-get -f install», не указывая имени пакета, (или найдите другое решение).
WDMyCloud:/etc/apt#

Что с этим можно сделать?

 ,

kote
()

Как получить токен состояния в компоненте?

Форум — Development

Вообщем есть такое состояние ui-router'а :

export const homeState = {
  name: 'home',
  url: '/home',
  redirectTo: 'main',
  component: HomeComponent,
  resolve: [
    {token: 'currentUser', deps: [], resolveFn: resolveUser},
  ]
};
в HomeComponent currentUser нормально получается через @Input('currentUser'), в дочерних компонентах HomeComponent'а уже такое не прокатывает.

Как получить currentUser'а в дочернем компоненте?

 

kote
()

Не подключается cisco 7906 к SIP провайдеру

Форум — Admin

Пытаюсь настроить циску для работы с провайдером celecom (их сапорт ничем кроме предложения поменять аппарат не помог). Висит постоянная регистрация на экране. Что я делаю не так? SEP<MAC>.cnf.xml:

<device xsi:type="axl:XIPPhone" ctiid="1566023366">
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>cisco</sshUserId>
<sshPassword>cisco</sshPassword>
<devicePool>
    <dateTimeSetting>
       <dateTemplate>D-M-Y</dateTemplate>
       <timeZone>Russian Standard/Daylight Time</timeZone>
       <ntps>
          <ntp>
            <name>88.147.254.232</name>
            <ntpMode>Unicast</ntpMode>
          </ntp>
       </ntps>
    </dateTimeSetting>
    <callManagerGroup>
       <members>
          <member priority="0">
             <callManager>
                <ports>
                   <ethernetPhonePort>2000</ethernetPhonePort>
                   <sipPort>5060</sipPort>
                   <securedSipPort>5061</securedSipPort>
                </ports>
                <processNodeName>ip-sip-servera.celecom.ru</processNodeName>
             </callManager>
          </member>
       </members>
    </callManagerGroup>
 </devicePool>
<sipProfile>
    <sipProxies>
       <backupProxy>ip-sip-servera.celecom.ru</backupProxy>
       <backupProxyPort>5060</backupProxyPort>
       <emergencyProxy>ip-sip-servera.celecom.ru</emergencyProxy>
       <emergencyProxyPort>5060</emergencyProxyPort>
       <outboundProxy>ip-sip-servera.celecom.ru</outboundProxy>
       <outboundProxyPort>5060</outboundProxyPort>
       <registerWithProxy>true</registerWithProxy>
   </sipProxies>
   <sipCallFeatures>
       <cnfJoinEnabled>true</cnfJoinEnabled>
       <callForwardURI>x--serviceuri-cfwdall</callForwardURI>
       <callPickupURI>x-cisco-serviceuri-pickup</callPickupURI>
       <callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
       <callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
       <meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
       <abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
       <rfc2543Hold>false</rfc2543Hold>
       <callHoldRingback>2</callHoldRingback>
       <localCfwdEnable>true</localCfwdEnable>
       <semiAttendedTransfer>true</semiAttendedTransfer>
       <anonymousCallBlock>2</anonymousCallBlock>
       <callerIdBlocking>2</callerIdBlocking>
       <dndControl>0</dndControl>
       <remoteCcEnable>true</remoteCcEnable>
   </sipCallFeatures>
   <sipStack>
       <sipInviteRetx>6</sipInviteRetx>
       <sipRetx>10</sipRetx>
       <timerInviteExpires>180</timerInviteExpires>
       <timerRegisterExpires>3600</timerRegisterExpires>
       <timerRegisterDelta>5</timerRegisterDelta>
       <timerKeepAliveExpires>120</timerKeepAliveExpires>
       <timerSubscribeExpires>120</timerSubscribeExpires>
       <timerSubscribeDelta>5</timerSubscribeDelta>
       <timerT1>500</timerT1>
       <timerT2>4000</timerT2>
       <maxRedirects>70</maxRedirects>
       <remotePartyID>false</remotePartyID>
       <userInfo>None</userInfo>
   </sipStack>
   <autoAnswerTimer>1</autoAnswerTimer>
    <autoAnswerAltBehavior>false</autoAnswerAltBehavior>
    <autoAnswerOverride>true</autoAnswerOverride>
    <transferOnhookEnabled>false</transferOnhookEnabled>
    <enableVad>false</enableVad>
     <dtmfAvtPayload>101</dtmfAvtPayload>
    <dtmfDbLevel>3</dtmfDbLevel>
    <dtmfOutofBand>avt</dtmfOutofBand>
    <alwaysUsePrimeLine>false</alwaysUsePrimeLine>
    <alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
    <kpml>3</kpml>
    <natEnabled>false</natEnabled>
    <phoneLabel>blabla</phoneLabel>
    <stutterMsgWaiting>1</stutterMsgWaiting>
    <callStats>false</callStats>
    <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
    <disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
    <startMediaPort>16384</startMediaPort>
    <stopMediaPort>32766</stopMediaPort>
    <sipLines>
       <line
        button="1">
          <featureID>9</featureID>
          <featureLabel>Hello world</featureLabel>
          <proxy>ip-sip-servera.celecom.ru</proxy>
          <port>5060</port>
          <name>102</name>

          <displayName>102</displayName>
          <autoAnswer>
             <autoAnswerEnabled>2</autoAnswerEnabled>
         </autoAnswer>
         <callWaiting>3</callWaiting>
         <authName>102</authName>
          <authPassword>PASSWORD</authPassword>

          <sharedLine>false</sharedLine>
          <messageWaitingLampPolicy>1</messageWaitingLampPolicy>
          <messagesNumber>102</messagesNumber>
          <ringSettingIdle>4</ringSettingIdle>
          <ringSettingActive>5</ringSettingActive>
          <contact>102</contact>
          <forwardCallInfoDisplay>
             <callerName>true</callerName>
             <callerNumber>false</callerNumber>
             <redirectedNumber>false</redirectedNumber>
             <dialedNumber>true</dialedNumber>
          </forwardCallInfoDisplay>
      </line>
   </sipLines>
   <voipControlPort>5060</voipControlPort>
    <dscpForAudio>184</dscpForAudio>
    <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
    <dialTemplate>dialplan.xml</dialTemplate>
</sipProfile>
<commonProfile>
    <phonePassword></phonePassword>
    <backgroundImageAccess>true</backgroundImageAccess>
    <callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>
<loadInformation>SIP11.9-4-2SR2-2S</loadInformation>

<vendorConfig>
    <disableSpeaker>false</disableSpeaker>
    <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
    <pcPort>0</pcPort>
    <settingsAccess>1</settingsAccess>
    <garp>0</garp>
    <voiceVlanAccess>0</voiceVlanAccess>
    <videoCapability>0</videoCapability>
    <autoSelectLineEnable>0</autoSelectLineEnable>
    <webAccess>0</webAccess>
    <daysDisplayNotActive>1,2,3,4,5,6,7</daysDisplayNotActive>
    <displayOnTime>00:00</displayOnTime>
    <displayOnDuration>00:00</displayOnDuration>
    <displayIdleTimeout>00:00</displayIdleTimeout>
    <spanToPCPort>1</spanToPCPort>
    <loggingDisplay>1</loggingDisplay>
    <loadServer></loadServer>
</vendorConfig>
<versionStamp>1143565489-a3cbf294-7526-4c29-8791-c4fce4ce4c37</versionStamp>
<networkLocale>Russian_Federation</networkLocale>

 <networkLocaleInfo>
    <name>Russian_Federation</name>
    <version>5.0(2)</version>
 </networkLocaleInfo>

 <deviceSecurityMode>0</deviceSecurityMode>
 <authenticationURL>http://www/ipphone/authenticate.php</authenticationURL>
 <directoryURL>http://www/ipphone/directory.xml</directoryURL>
 <idleURL></idleURL>
 <informationURL>http://www/ipphone/GetTelecasterHelpText.jsp</informationURL>
 <messagesURL></messagesURL>
 <servicesURL>http://www/ipphone/services.xml</servicesURL>
 <dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
 <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
 <dscpForCm2Dvce>96</dscpForCm2Dvce>
 <transportLayerProtocol>4</transportLayerProtocol>
 <capfAuthMode>0</capfAuthMode>
 <capfList>
    <capf>
       <phonePort>3804</phonePort>
    </capf>
 </capfList>

 <certHash></certHash>
 <encrConfig>false</encrConfig>

</device>

dialplan.xml:

<?xml version="1.0" encoding="utf-8" ?>
<dialplan>
   <template match="*" timeout="0"/>
</dialplan>

log180.log:

|== Syslogd TNP== Wed Dec 21 13:30:54 2016
====================================================
2533: DBG 13:30:54.002283 JVM: 50        1        1        0        0        0        0        0        0        0        0
2534: DBG 13:30:54.002987 JVM: 60        0        0        0        0        0 d4a11b23 44166ab9 39e81766 c8232ea3 253cc6dd
2535: DBG 13:30:54.003680 JVM: 70 9797aed9 b095b51c        0        0        0        0        0        0        0        0
2536: DBG 13:30:54.117284 JVM: HTTP JNI| starting updateServletRequest()
2537: DBG 13:30:54.117951 JVM: HTTP JNI| UIUpdatePush: 0 3 0
2538: DBG 13:30:54.119258 JVM: HTTP JNI| starting updateServletRequest()
2539: xxx 13:30:54.120175 JVM: HTTP JNI| *** *** *** PUSH_DONE: res file:/usr/cache/PUSH_RESP_0_3.x
2540: xxx 13:30:54.121959 JVM: HTTP JNI| Rsp file</usr/cache/PUSH_RESP_0_3.x> has size:6467 max buff size is:1024
2541: DBG 13:30:54.125734 JVM: HTTP JNI| UIUpdatePush: 0 3 0
2542: NOT 13:30:58.901941 JVM: sip_platform_udp_channel_destroy:closed UDP socket successfully
2543: ERR 13:31:02.542002 JVM: Calling enable listening for incoming http connections
2544: INF 13:31:04.120701 JVM: StcpConnectionStatus local port 80, remote port 55298
2545: DBG 13:31:04.140787 JVM: HTTP JNI| RpExternalCgi() 1st call for fConnectionId=0
2546: DBG 13:31:04.141508 JVM: HTTP JNI| bypassing authentication for Serviceability
2547: DBG 13:31:04.142060 JVM: HTTP JNI| *** HTTP_CGI_AUTHENTICATION_COMPLETE ***
2548: DBG 13:31:04.142662 JVM: HTTP JNI| create_http_rsp_file() 0 [/usr/cache/PUSH_RESP_0_4.x] [/usr/cache/PUSH_RESP_0_3.x]
2549: DBG 13:31:04.143996 JVM: HTTP JNI| *** process /CGI/Java ***
2550: DBG 13:31:04.144581 JVM: HTTP JNI| process_servlet()
2551: DBG 13:31:04.145572 JVM: HTTP JNI| calling ServletContainerClass_requestServlet()
2552: INF 13:31:04.147900 JVM: HTTP JNI| call to ServletContainerClass_requestServlet successful
2553: DBG 13:31:04.193035 JVM: HTTP JNI| starting updateServletRequest()
2554: DBG 13:31:04.193715 JVM: HTTP JNI| UIUpdatePush: 0 3 0
2555: DBG 13:31:04.194755 JVM: HTTP JNI| starting updateServletRequest()
2556: DBG 13:31:04.195387 JVM: HTTP JNI| UIUpdatePush: 0 3 0
2557: DBG 13:31:04.200214 JVM: HTTP JNI| *** *** *** PUSH_DONE: res file:/usr/cache/PUSH_RESP_0_4.x
2558: DBG 13:31:04.201189 JVM: HTTP JNI| Rsp file</usr/cache/PUSH_RESP_0_4.x> has size:2805 max buff size is:1024
2559: DBG 13:31:05.441298 JVM: HTTP JNI| RpExternalCgi() 1st call for fConnectionId=0
2560: DBG 13:31:05.441978 JVM: HTTP JNI| bypassing authentication for Serviceability
2561: DBG 13:31:05.442533 JVM: HTTP JNI| *** HTTP_CGI_AUTHENTICATION_COMPLETE ***
2562: DBG 13:31:05.443139 JVM: HTTP JNI| create_http_rsp_file() 0 [/usr/cache/PUSH_RESP_0_5.x] [/usr/cache/PUSH_RESP_0_4.x]
2563: DBG 13:31:05.444467 JVM: HTTP JNI| *** process /CGI/Java ***
2564: DBG 13:31:05.445084 JVM: HTTP JNI| process_servlet()
2565: DBG 13:31:05.445818 JVM: HTTP JNI| calling ServletContainerClass_requestServlet()
2566: INF 13:31:05.448153 JVM: HTTP JNI| call to ServletContainerClass_requestServlet successful
2567: DBG 13:31:05.502811 JVM: HTTP JNI| starting updateServletRequest()
2568: DBG 13:31:05.503476 JVM: HTTP JNI| UIUpdatePush: 0 3 0
2569: DBG 13:31:05.504492 JVM: HTTP JNI| starting updateServletRequest()
2570: DBG 13:31:05.505124 JVM: HTTP JNI| UIUpdatePush: 0 3 0
2571: DBG 13:31:05.523187 JVM: HTTP JNI| *** *** *** PUSH_DONE: res file:/usr/cache/PUSH_RESP_0_5.x
2572: DBG 13:31:05.524209 JVM: HTTP JNI| Rsp file</usr/cache/PUSH_RESP_0_5.x> has size:3597 max buff size is:1024
2573: ERR 13:31:12.560577 JVM: Calling enable listening for incoming http connections
2574: INF 13:31:23.540518 JVM: StcpConnectionStatus local port 80, remote port 55300
2575: DBG 13:31:23.560787 JVM: HTTP JNI| RpExternalCgi() 1st call for fConnectionId=0
2576: DBG 13:31:23.561446 JVM: HTTP JNI| bypassing authentication for Serviceability
2577: DBG 13:31:23.562047 JVM: HTTP JNI| *** HTTP_CGI_AUTHENTICATION_COMPLETE ***
2578: DBG 13:31:23.562661 JVM: HTTP JNI| create_http_rsp_file() 0 [/usr/cache/PUSH_RESP_0_6.x] [/usr/cache/PUSH_RESP_0_5.x]
2579: DBG 13:31:23.563983 JVM: HTTP JNI| *** process /CGI/Java ***
2580: DBG 13:31:23.564557 JVM: HTTP JNI| process_servlet()
2581: DBG 13:31:23.565292 JVM: HTTP JNI| calling ServletContainerClass_requestServlet()
2582: INF 13:31:23.568329 JVM: HTTP JNI| call to ServletContainerClass_requestServlet successful
2583: DBG 13:31:23.683360 JVM: sending command:5
2584: ERR 13:31:23.684324 JVM: cvmDebug: executing - 5. Dump total obj counts in java heap
2585: ERR 13:31:23.698441 JVM: Counted 29246 objects
2586: ERR 13:31:23.699171 JVM: Total Heap Size:2000384
2587: ERR 13:31:23.699810 JVM:  Free Heap Size:1005868
2588: DBG 13:31:24.680755 JVM: sending command:7
2589: ERR 13:31:24.681700 JVM: cvmDebug: executing - 7. Dump string value of [C instances in java heap
2590: DBG 13:31:25.681133 JVM: COULD NOT OPEN /usr/tmp/cvmheapdump 
2591: DBG 13:31:25.712513 JVM: HTTP JNI| starting updateServletRequest()
2592: DBG 13:31:25.713182 JVM: HTTP JNI| UIUpdatePush: 0 3 0
2593: DBG 13:31:25.714246 JVM: HTTP JNI| starting updateServletRequest()
2594: DBG 13:31:25.714872 JVM: HTTP JNI| UIUpdatePush: 0 3 0
2595: DBG 13:31:25.721412 JVM: HTTP JNI| *** *** *** PUSH_DONE: res file:/usr/cache/PUSH_RESP_0_6.x
2596: DBG 13:31:25.722419 JVM: HTTP JNI| Rsp file</usr/cache/PUSH_RESP_0_6.x> has size:2872 max buff size is:1024
2597: DBG 13:31:27.260926 JVM: HTTP JNI| RpExternalCgi() 1st call for fConnectionId=0
2598: DBG 13:31:27.261605 JVM: HTTP JNI| bypassing authentication for Serviceability
2599: DBG 13:31:27.262150 JVM: HTTP JNI| *** HTTP_CGI_AUTHENTICATION_COMPLETE ***
2600: DBG 13:31:27.262747 JVM: HTTP JNI| create_http_rsp_file() 0 [/usr/cache/PUSH_RESP_0_7.x] [/usr/cache/PUSH_RESP_0_6.x]
2601: DBG 13:31:27.264084 JVM: HTTP JNI| *** process /CGI/Java ***
2602: DBG 13:31:27.264657 JVM: HTTP JNI| process_servlet()
2603: DBG 13:31:27.265419 JVM: HTTP JNI| calling ServletContainerClass_requestServlet()
2604: INF 13:31:27.268292 JVM: HTTP JNI| call to ServletContainerClass_requestServlet successful

fsck.fd1a.log:

checking /dev/fd1a
disk geometry
  block size        = 512 (0x200)
  sector size       = 131072 (0x20000)
  number of sectors = 1 (0x1)
  blocks/sector     = 256 (0x100)
  total blocks      = 256 (0x100)
disk contains 1 valid blockmaps
disk contains 21 valid inodes
block usage
  used blocks  = 41
  free blocks  = 201
  dirty blocks = 14
complete

 ,

kote
()

Настройка asus rt-n10u в качестве 3g роутера

Форум — Admin

Есть роутер asus rt-n10u с dd-wrt и 2 модема Huawei E3131 и ZTE MF823D Поставил тип соединения Mobile Broadband имя пользователя megafon пароль megafon APN internet DialString *99***1# Connection type auto

не работает ни один, ни второй. Кто нибудь сталкивался? Куда копать вообще?

 

kote
()

Частичная загрузка объекта в spring data jpa

Форум — Development

Возможно ли в спринге грузить объект частично? Например есть колонки в базе id, content, name, ext_id загрузить только id и content

Так не работает:

    @Query("select i.minified from Image i where i.uid = :uid")

 ,

kote
()

Некорректный inject в переопределенный конструктор в ангулар 2

Форум — Web-development

Есть у меня переопределенный Http: SecurityHttp в конструкторы компонентов инжектиться нормально.

Так же есть у меня 2 класса:

export class Foo {
   constructor(protected http: Http) {
   }
}

export class Bar extends Foo {
   constructor(protected http: SecurityHttp) {
      super(http)
   }
}

Проблема в том что в Bar всегда попадает дефолтный Http

Нашел такое решение:

export class Bar extends Foo {
   constructor(protected http: SecurityHttp, private injector: Injector) {
      super(http);
      this.http = injector.get(SecurityHttp);
   }
}

так работает, но слишком это костыльно. Даже если делаю так:

      super(injector.get(SecurityHttp));
оно не работает. Есть ли какое то нормальное решение этой проблемы?

 

kote
()

Autowired в кастомном логин модуле

Форум — Development

Сделал свой LoginModule для wildfly'я. Хочу внутри использовать JpaRepository спринговый. Как это возможно осуществить?

    @Autowired
    private UserDao userDao;
так поле не заполняется.

LoginModule:



@Component
@Scope("prototype")
public class LoginModule extends AbstractServerLoginModule {

    @Autowired
    private UserDao userDao;

    public void initialize(Subject subject, CallbackHandler callbackHandler,
                           Map sharedState,
                           Map options) {
        super.initialize(subject, callbackHandler, sharedState, options);
    }

    @Override
    public boolean login() throws LoginException {
       ....
    }
}

 , ,

kote
()

oauth2 в cxf

Форум — Development

Правильно ли я понимаю принцип работы oauth2 в cxf? Согласно этой документации cxf.apache.org/docs/jax-rs-oauth2.html пользователь должен быть сначала аутентифицирован, потом получить access_token через AccessTokenService.

Правильно ли я понимаю что в случае микросервисов нужно написать сервис который сначала будет аутентифицировать например сервлетом или Basic аутентификацией, потом клиент лезет на адрес AccessTokenService получает access_token и с этим acess_token'ом уже обращается ко всем остальным микросервисам которые требуют ограничения доступа, которые будут фильтром проверять этот access_token на правильность?

И второй вопрос: для чего существует grant_type=password? Вроде как там передаются логин и пароль пользователя. Заменяет ли он собой отельный сервлет (или что то подобное) для аутентификации?

 ,

kote
()

Использование сервлета для авторизации ангулара

Форум — Web-development

На сколько нормальное решение использовать сервлет для авторизации ангулара?

public class LoginServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        request.login(....);
    }

}

 ,

kote
()

Аутентификация в apache cxf + wildfly

Форум — Web-development

Нужно сделать авторизацию на сайте (angular2/ логин+пароль). На сервере cxf под wildfly'ем. Куда копать? Найти ничего вразумительного не могу. Хочется чего то на основе сессий сделать.

 ,

kote
()

defer в angular 2

Форум — Web-development

Есть какая то такая функция:

function func(bla) {
    var defer = $q.defer();
    //где то далеко в другой функции defer.resolve(...);
    return defer.promise;
}

Вопрос: как это переписать под 2й ангулар

 

kote
()

Как заставить $http.then вызваться дважды?

Форум — Development
angular
.module('app', ['ngStorage'])
.config(['$httpProvider', function ($httpProvider) {
    $httpProvider.interceptors.push('TestInterceptor');
}])
.factory('TestInterceptor', ['$q', '$injector', '$localStorage', function ($q, $injector, $localStorage) {
    return {
    	request: request,
    	response: response,
    	responseError: responseError
    };

    function request(config) {
    	console.log('request');
    	config.test = !config.test;
    	if (config.test) {
    		config.timeout = 1;
    	}  else {
			config.timeout = 10000;
    	}
    	return config;

    }
    function response(resp) {
    	console.log('response');
    	console.log(resp);
    	if (resp.config.method == 'GET' ) {
    		if (!resp.config.cached) {
    			var restCache = $localStorage.cache;
	    		if (restCache == null) {
	    			restCache = {};
	    		}
	    		resp.cached = true;
    			restCache[resp.config.url] = angular.toJson(resp);
    			$localStorage.cache = restCache;
    			
    		}
    		
    	} 
    	return $q.resolve(resp);
    }
    
    function responseError(rej) {
    	console.log(' responseError(rej) {');
    	console.log(rej);
    	var defer = $q.defer();
    	var config = rej.config;
    	if (config.test) {
    			function success(response) {
					defer.resolve(response);
    			}
    			function errorCallback(reject) {
    				defer.reject(reject);
    			}
    			$http = $injector.get('$http');
    			$http(rej.config).then(success, errorCallback);
		}
    	if (config.method == 'GET' && (rej.status == 408 || rej.status <= 0) && config.test) {
			var restCache = $localStorage.cache;
			if (restCache != null && restCache[rej.config.url] != null ) {
				return $q.resolve(angular.fromJson(restCache[rej.config.url]));
			}
    	}
    	return $q.reject(rej);
    }
}])
.run(['$http', function ($http) {
	$http.get('http://example.com/service/').then(function (res) {
		console.log('res');
		console.log(res);
	});
}]);

Возможно ли дернуть then дважды из interceptor'а?

 

kote
()

Возможно ли из interceptor.request вернуть ответ?

Форум — Development
  angular
    .module('exmpl')
    .factory('TestInterceptor', TestInterceptor);
TestInterceptor.$inject = ['$q']
function TestInterceptor($q) {
   return {
      request: processRequest,
      requestError: requestError,
      responseError: processResponseError,
      response: processResponse
    };

   function processRequest(config) {
      var defer = $q.defer();
      config.timeout = defer.promise;
      setTimeout(function() {
          var fakeResponse = getFakeResponse();
          $q.resolve(fakeResponse);
      }, 100);
      return config;
   }
   function processResponse(resp) {
     ///не вызывается
     ....
   }
}

Возможно ли из processRequest вернуть фейковый ответ ?

 

kote
()

Не работают пуш уведомления в релизной версии ios приложения

Форум — Development

Загрузили приложение в эпстор прекратили работать пуши. Галка в xcode разрешающая пуш уведомления стоит, сертификат релизный на сервере тоже стоит. Если ставлю через xcode все работает. Куда копать?

 ,

kote
()

Описание для веток в геррите

Форум — Admin

Возможно ли в геррите сделать описание для веток?

 ,

kote
()

Долгий запуск cordova-приложения(ionic) на ios

Форум — Development

Если сворачиваю приложение на иос и не захожу несколько часов запуск приложения занимает несколько секунд и чем дольше не захожу тем дольше идет запуск. В чем может быть причина?

 ,

kote
()

Почему из cordova-приложения не работает звонок на телефон?

Форум — Development

Прописал это в config.xml:

  <access origin="*"/>
  <access origin="tel:*" launch-external="yes"/>
  <access origin="mailto:*" launch-external="yes"/>
  <allow-intent href="*"/>
  <allow-navigation href="*"/>
  <allow-navigation href="tel:*"/>
  <allow-navigation href="mailto:*"/>
  <allow-navigation href="data:*"/>
  <plugin name="cordova-plugin-whitelist" version="1" />

Прописал это в index.html:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">

при нажатии на ссылку <a href=«tel:+1234567»>Call!</a> на иос ничего не происходит (на андроиде все работает)

если <access origin=«*»/> меняю на

  <access origin="http://*/*"/> 
  <access origin="http://*/*"/>
перестают работать запросы по ajax, но начинает звонить (хотя не задает стандартный вопрос-подтверждение звонка)

 

kote
()

Не работает обновление ngIf

Форум — Web-development

Почему то не вешается слушатель на ng-if html:

   <div ng-if="vm.user == null">
     User not found
   </div>
   <div ng-if="vm.user != null">
     {{vm.user.name}}
   </div>

controller:

   angular
      .module('app.module')
      .controller('UserCtrl', UserCtrl);
UserCtrl.$inject = ['UserService'];
function UserCtrl(UserService) {
    var vm = this;
    vm.user = null;

    activate();
    function activate() {
       UserService.get(onLoad);
    }
    function onLoad(user) {
      vm.user = user;
    }
}

При этом {{vm.user.name}} нормально обновляется.

Что я делаю не так?

Перемещено true_admin из development

 

kote
()

Возможно ли изменить 401 ответ tomcat'a?

Форум — Development

Нужно добавить несколько заголовков в 401 ошибку. Возможно ли это как то сделать? Пробовал через фильтр:

    <filter>
        <filter-name>Filter</filter-name>
        <filter-class>com.example.filter.Filter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

но к нему вообще нет обращения.

Использую BASIC аутентификацию.

 ,

kote
()

Как использовать phonegap-push-phugin с IOS и GСM?

Форум — Development

Пытаюсь сделать прием пушей через GCM. Зарегистрировал приложение здесь: https://developers.google.com/mobile/add?platform=ios&cntapi=gcm&cntu...

загрузил developer/production сертификаты, положил полученный конфиг в корень xcode-проекта.

var params = {
      "android": {"senderID": APP.senderId},
      "ios": {"alert": "true", "badge": "true", "sound": "true", "senderID": APP.senderId},
      "windows": {}
    };
var push = PushNotification.init(params);
push.on('registration', function(data) {
   console.log(data);
   ...
});

push.on('notification', function(data) {
   console.log(data);
   ...
});
push.on('error', function(data) {
   console.log(data);
});

Регистрация нормально проходит, registrationId назначается.

Пытаюсь отправить сообщение с сервера:

public boolean send(String recipient, PushNotification notification) {
        LOG.info("Отправка сообщения получателю :" + recipient);
        Message message = new Message.Builder()
                .addData("title", notification.getTitle())
                .addData("message", notification.getMessage()) 
                .priority(Message.Priority.HIGH)
                .build();
        try {
            Result result = sender.send(message, recipient, RETRIES_COUNT);
            LOG.debug("Результат отправки : " + result);
            if (result.getSuccess() != null && result.getSuccess() > 0) {
                return true;
            }
            if (result.getFailure() != null) {
                LOG.error("При отправке сообщения возникла ошибка: " + result.getErrorCodeName());
            }
            return false;
        } catch (Exception e) {
            LOG.error(e);
            return false;
        }
    }
}

в итоге в логе появляется следущее:

16-06-06 20:28:32,868 INFO : [pool-2-thread-1] Отправка сообщения получателю :k3YUHDkEaR0:APA91bGSc9Wc3dvrS1-6EKBPL4Duu_xZDIujiUZjhkxaaHz3BS3n_ZciuQZLfFiEszXAX4kNUu7Oq0555jI3zzrgIVeNKtD0p63ftH6BPuhOXkCk-ujHlBTi9gSPRXJ6ixd_kTyCfrwS
16-06-06 20:28:33,246 DEBUG: [pool-2-thread-1] Результат отправки : [ messageId=0:1465234217220513%ca70b4fbf9fd7ecd ]

Однако до телефона ничего не доходит. Что я делаю не так?

 , , , ,

kote
()

RSS подписка на новые темы